插入默认值不起作用mongodb

编程入门 行业动态 更新时间:2024-10-28 17:22:42
本文介绍了插入默认值不起作用mongodb的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我正在使用猫鼬版本5.2.5,这是我的订单的示例模型

I am using mongoose version 5.2.5 and here is the sample model of my order

.... let PlaceOrderSchema = new mongoose.Schema({ any: {} }, { strict: false }, { timestamps: { updatedAt: 'last_updated', createdAt: 'created' });

我在猫鼬save和findOneAndUpdate的主脚本中使用以上模型. 在生产系统中,我们看到许多文档在保存文档中没有last_updated键.

I am using the above model in main script with mongoose save and findOneAndUpdate. In our production system , we are seeing many document that does not have last_updated key missing in the save document.

以下是我们的主脚本中猫鼬save方法和findOneAndUpdate的示例代码.我们看到有些文档具有updated_at键,而保存文档时很少有它们.

Here are sample code of the mongoose save method and findOneAndUpdate in our main script.We are seeing some of the documents have updated_at keys while very few of them does not have it while saving the document

let orderModel = require('./orderModel'); let newOrder = { order_no: 1234 }; //save usage code (new Order(newOrder).save({lean: true}, ()=> { //do...something })); //findOneAndUpdate usage Code let orderNo = 123 OrderModel.findOneAndUpdate({ order_no: orderNo }, { $set: { items: [{product_id: 'abc', quantity: 1}] }, }, { new: true, upsert: true }, (err, res) => { //do_something });

任何人都可以分享为什么没有updated_at就能保存很少的文档吗?

Can any one share why we have few documents are getting saved without updated_at?

推荐答案

您需要使用选项update操作期间进行nofollow noreferrer> setDefaultsOnInsert: true .

You need to use option setDefaultsOnInsert: true during the update operation.

文档

默认情况下,猫鼬仅在创建新的时应用默认设置 文档.如果您使用update()和 findOneAndUpdate().但是,猫鼬4.x可让您选择加入 使用setDefaultsOnInsert选项的行为.

By default, mongoose only applies defaults when you create a new document. It will not set defaults if you use update() and findOneAndUpdate(). However, mongoose 4.x lets you opt-in to this behavior using the setDefaultsOnInsert option.

OrderModel.findOneAndUpdate( { order_no: orderNo }, { $set: { items: [{ product_id: "abc", quantity: 1 }] }}, { new: true, upsert: true, setDefaultsOnInsert: true } )

更多推荐

插入默认值不起作用mongodb

本文发布于:2023-10-22 08:04:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1516931.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:默认值   不起作用   mongodb

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!