Joh*_* S. 11 mongodb mongodb-query
使用 Mongo shell,我尝试添加一个与集合中所有文档的现有字段具有相同值的字段。假设我们有两个文档:
{
'foo': 'str1'
}
Run Code Online (Sandbox Code Playgroud)
和
{
'foo': 'str2'
}
Run Code Online (Sandbox Code Playgroud)
我想插入一个新字段'foo_new',其值分别为'foo',以便文档成为
{
'foo': 'str1'
'foo_new': 'str1'
}
Run Code Online (Sandbox Code Playgroud)
和
{
'foo': 'str2'
'foo_new': 'str2'
}
Run Code Online (Sandbox Code Playgroud)
我用来在 Mongo shell 中更新集合(例如“coll”)的命令是
db.coll.update({}, {$set: {'foo_new': '$foo'}}, {multi: true})
Run Code Online (Sandbox Code Playgroud)
运行该命令的结果是两个更新的文档
{
'foo': 'str1'
'foo_new': '$foo'
}
Run Code Online (Sandbox Code Playgroud)
和
{
'foo': 'str2'
'foo_new': '$foo'
}
Run Code Online (Sandbox Code Playgroud)
ie'$foo'由于某种原因被解释为文字。
小智 21
试试这个片段:
db.<collection>.update({}, [{$set: {'foo_new': '$foo'}}], {"multi": true})
Run Code Online (Sandbox Code Playgroud)
请注意[]第二个参数中的方括号。更多信息:/sf/answers/26071/80419/4050261