如何在 MongoDB 中查找文档、更新文档并插入新文档?
Posted
技术标签:
【中文标题】如何在 MongoDB 中查找文档、更新文档并插入新文档?【英文标题】:How to find a document in MongoDB, update it, and insert a new document? 【发布时间】:2020-09-08 03:24:33 【问题描述】:在 MongoDB 数据库中查找文档、对其进行更新然后将更新后的文档作为具有新 _id 的新文档插入的正确命令是什么? 原始文档应完全保持不变。
【问题讨论】:
【参考方案1】:您使用的是 mongoose、MongoDB shell 还是 Compass? 如果你想找到一个文档并更新它,为什么你需要一个新的 id? 如果要更新现有文档,则 id 将保持不变,或者您可以找到现有文档并将其复制到新文档并更新新文档。
【讨论】:
实际上,我正在使用 pymongo 处理 python。显然,我可以找到一个文档,使用 python 更改它,然后插入新的。但我想知道 MongoDB 中是否有内置命令。 我对 python 命令不太熟悉。直接使用mongodb,可以使用“findOneAndUpdate”。这个链接有一些很好的例子和解释:docs.mongodb.com/manual/reference/method/…。或者您也可以使用:“findOneAndReplace”:docs.mongodb.com/manual/reference/method/…希望我正确理解您的问题 我认为这两个功能都会更改现有文档。我有兴趣保持现有文档完全不变并插入一个新文档。以上是关于如何在 MongoDB 中查找文档、更新文档并插入新文档?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 C# 驱动程序在 MongoDB 中更新和更新多个文档