Javascript MongoDB编辑文档

Javascript MongoDB编辑文档,javascript,mongodb,Javascript,Mongodb,首先让我解释一下我的工作内容。 因此,我有一组用户配置文件,它们的建模方式与plnkr类似。 我还有一个函数,它被传递给一组编辑过的主题。然后,我需要在userProfiles集合中搜索匹配的topicID,并替换文档的topics部分。不是整个文件。我知道集合。replace()。但这将取代整个文件。我需要更换一半。所以我可能需要使用findOneAndUpdate()?我不确定。我是刚到Mongo的。。我已经做了一个plnkr代码参考 如果您只需要替换主题,只需使用该方法即可。如果您需要编辑

首先让我解释一下我的工作内容。 因此,我有一组用户配置文件,它们的建模方式与plnkr类似。
我还有一个函数,它被传递给一组编辑过的主题。然后,我需要在userProfiles集合中搜索匹配的topicID,并替换文档的topics部分。不是整个文件。我知道
集合。replace()
。但这将取代整个文件。我需要更换一半。所以我可能需要使用
findOneAndUpdate()
?我不确定。我是刚到Mongo的。。我已经做了一个plnkr代码参考

如果您只需要替换主题,只需使用该方法即可。如果您需要编辑多个用户配置文件,请将其设置为true(如果多个用户具有所需的topicId)。

您可以使用此选项

db.userProfiles.update(
   { "UserTopics.topicID": "abc"},
   { $set: { "UserTopics.$": editedTopic } }
)

我以前从未见过multi,看起来正是我需要的。令人惊叹的。我来试试。在“UserTopics.$”中,$到底在做什么?@AustinHunter,使用“UserTopics.topicID”,您将匹配数组中的一个元素。因此,$表示由“UserTopics.topicID”:“abc”选择的元素。