mongodb没有更新所有文件

时间:2015-04-15 17:34:11

标签: mongodb updating

我有文件 {name:"ajeetkumar",age:26}{age:26,name:"ajeetkumar"}存储在集合示例中。

我想更新年龄字段,并使用命令db.sample.update({name:"ajeetkumar"},{$set:{age:28}})

它只更新名称是第一个字段的第一个文档。为什么?如何更新给定字段的所有记录。是否影响更新的字段顺序?

2 个答案:

答案 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})