我是一名MongoDB新手,但已经接受了一些基础培训。但是,我无法处理这个(看似简单的)情况: 我用两个API调用的结果填充我的数据库。第一个调用返回一堆包含主键的字段:NAME。第二个调用会获取每个NAME的其他详细信息。我已将第一次调用的结果插入到数据库中。当我进行第二次调用时,我想使用匹配的NAME更新文档,以包含第二个API调用返回的所有其他字段和值。 (例如,第一个调用返回一个配方NAME和一堆关于配方的元数据;第二个调用返回一个成分列表,我想根据匹配的NAME将这些添加到该配方的文档中。)
这不容易吗?或者这是否合并,我认为mongo不支持?在这种情况下,我假设我只是将第二个呼叫的结果作为单独的文档插入,并在将来对NAME进行查询,以便提取与该NAME相关的两个文档?
答案 0 :(得分:2)
您必须使用db.collection.update()
调用才能完成此操作。你在这里做的是传递查询以找到正确的文档,在你的情况下它是NAME,然后适当地更新文档。
例如:让我们说更新名称是' eamcvey'并且您想要输入地址和电话号码字段。您要输入的命令如下所示:
db.collection.update(
{NAME : 'eamcvey'},
{
$set : {Address : 'Updated Value of Address'},
$set : {PhoneNumber : '123456'}
},
);
有关更详细的文档,请转到此link on update command in MongoDB。