gpt4 book ai didi

mongodb多个文档通过唯一键插入或更新

转载 作者:可可西里 更新时间:2023-11-01 10:38:01 24 4
gpt4 key购买 nike

我想定期从外部资源获取项目列表并将它们保存到集合中。

有几种可能的解决方案,但它们都不是最优的,例如:

  1. 删除整个集合并保存新的项目列表

  2. 使用“find({})”从集合中获取所有项目,并使用它过滤掉现有项目并保存不存在的项目。

但更好的解决方案是设置一个唯一的键,然后进行某种“更新或插入”。现在在保存项目时唯一键已经存在我会得到一个错误有没有办法做到这一点?

**upsert 不会完成这项工作,因为它会用相同的值更新所有项目,所以它实际上只适用于单个文档

最佳答案

我觉得您只需使用“正常”insertMany 就可以实现您想要的效果ordered 选项设置为 falsedocumentation指出

Note that one document was inserted: The first document of _id: 13 will insert successfully, but the second insert will fail. This will also stop additional documents left in the queue from being inserted. With ordered to false, the insert operation would continue with any remaining documents.

所以你会得到“重复键”异常,但是,你可以简单地忽略你的情况。

关于mongodb多个文档通过唯一键插入或更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52821690/

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