有条件的mongodb upsert
问题描述:
有没有办法用mongodb来批量插入,但是选择插入和更新时应该做什么。 例如:有条件的mongodb upsert
我在mongodb的本文档:
{name:"david", last_name:"family_name", published:true}
现在到达一个新的文件,是这样的:
{name:"david", last_name:"family_name_changed", published:false}
现在我想要替换DB(文档1) 中只会更新last_name字段(或任何其他字段)的文档,但我不希望它更新已发布的字段。 (永远)
这是怎么回事?
谢谢
答
您可以使用$set更新特定领域,比如:
db.<name of your collection>.update(<query>,
{
$set:
{
last_name: <value to set>
}
}, { multi: true });
嘿,感谢您的帮助。但问题是我不想知道哪些特定字段需要更新......只有我想要做的事情是能够更新整个文档,但只保留少量字段,即使它们出现在我想更新的新文件... –