gpt4 book ai didi

mongodb - Mongoose findByIdAndUpdate 不会在插入时生成 _id

转载 作者:行者123 更新时间:2023-12-05 07:47:26 25 4
gpt4 key购买 nike

我正在尝试使用 mongoose 的 findByIdAndUpdate 方法。当我更新具有 _id 字段集的现有文档时,效果很好。但是,插入一个新文档,使用 upsert: true 插入一个没有生成 _id 的文档(_id 字段为 null),这会导致各种问题.为什么 upsert 不生成 _id

这是代码,对于一个新文档 newRecord._id 是未定义的:

myModel.findByIdAndUpdate(newRecord._id, newRecord, {
upsert: true,
new: true,
runValidators: true,
setDefaultsOnInsert: true
}, function(err, patient) {
//do something
});

最佳答案

因为你是更新插入,如果你指定第一个参数,因为它找不到 NULL(mongoose 将 undefined 视为 null)它创建它。

我会说不要使用 findbyid,而是使用 model.update。

关于mongodb - Mongoose findByIdAndUpdate 不会在插入时生成 _id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39761771/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com