我最近遇到了同样的问题。但是,我设法通过其他一些逻辑(下面给出的详细信息)克服了这个问题,但无法理解这背后的原因
的
findOneAndUpdate
</强>
插入
的
重复
</强>
mongodb中的条目。
您可以通过遵循逻辑来克服此问题。
使用
的
找一个
</强>
要么
的
findById
</强>
代替
的
findOneAndUpdate
</强>
搜索集合中的文档,然后手动更新文档并运行
的
保存()
</强>
。
您可以使用此代码段了解更多信息
return new Promise(function (resolve, reject) {
Model.findOne({
someCondition…
}, function (err, item) {
if (err) {
reject(err);
} else {
item.someArray.push({
someKeyValue…
});
item.save().then((result) => {
resolve(result)
}).catch((err) => {
reject(err)
});
}
}).catch((err) => {
reject(err)
});
});
</code>
这不会插入重复的项目。但是,如果您了解重复背后的原因,必须更新此线程。