我有文件
{name:"ajeetkumar",age:26}
和{age:26,name:"ajeetkumar"}
存储在集合示例中。
我想更新年龄字段,并使用命令db.sample.update({name:"ajeetkumar"},{$set:{age:28}})
它只更新名称是第一个字段的第一个文档。为什么?如何更新给定字段的所有记录。是否影响更新的字段顺序?
答案 0 :(得分:2)
默认情况下,它只会更新您必须设置的多项选项more info
试试这个:
db.sample.update({name:"ajeetkumar"},{$set:{age:28}}, false, true)
此外,查询区分大小写,因此在您的情况下,它仍然不会更新第二个。
{name:“ajeetkumar”,年龄:26}和{年龄:26,姓名:“Ajeetkumar”}
在第二个文档中,名称以大写字母A开头。可能要查看regex matching
答案 1 :(得分:1)
{姓名:" ajeetkumar",年龄:26}和{年龄:26,姓名:" Ajeetkumar"}
db.sample.update({名称:" ajeetkumar"},{$设置:{年龄:28}})
在第二个文档中,名称以大写A开头,因此您应该在此文件中使用正则表达式。另外,您必须使用多选项。这个适合你:
db.sample.update({name: /^ajeetkumar/i},{$set:{age:28}}, {multi: true})