适当的记录不会随条件更新
the appropriate records won't update with condition
我是 mongodb 的新人。我有一个包含这些记录的集合。
MongoDB Enterprise > db.Users.find()
{ "_id" : ObjectId("618ac9c1b2bd7211de8dea73"), "username" : "user1", "favorites" : { "countries" : [ "Germany", "Tibet" ], "language" : [ "english", "germany", "italian" ] } }
{ "_id" : ObjectId("618aca52b2bd7211de8dea74"), "username" : "user2", "favorites" : { "language" : [ "english", "germany" ] } }
{ "_id" : ObjectId("618aca78b2bd7211de8dea75"), "username" : "user3" }
假设我想为具有以下条件的所有记录添加一个值
db.Users.update({"favorites.language":"english"},{$addToSet:{"favorites.language":"french"}})
但它只是更新了 user1 的记录。但 user2 也有 {"favorites.language":"english"} 。但它不会更新。
有人可以帮我吗?
您需要添加 multi:true 才能更新所有记录,如下所示:
db.Users.update({"favorites.language":"english"},{$addToSet:{"favorites.language":"french"}},{multi:true})
我是 mongodb 的新人。我有一个包含这些记录的集合。
MongoDB Enterprise > db.Users.find()
{ "_id" : ObjectId("618ac9c1b2bd7211de8dea73"), "username" : "user1", "favorites" : { "countries" : [ "Germany", "Tibet" ], "language" : [ "english", "germany", "italian" ] } }
{ "_id" : ObjectId("618aca52b2bd7211de8dea74"), "username" : "user2", "favorites" : { "language" : [ "english", "germany" ] } }
{ "_id" : ObjectId("618aca78b2bd7211de8dea75"), "username" : "user3" }
假设我想为具有以下条件的所有记录添加一个值
db.Users.update({"favorites.language":"english"},{$addToSet:{"favorites.language":"french"}})
但它只是更新了 user1 的记录。但 user2 也有 {"favorites.language":"english"} 。但它不会更新。 有人可以帮我吗?
您需要添加 multi:true 才能更新所有记录,如下所示:
db.Users.update({"favorites.language":"english"},{$addToSet:{"favorites.language":"french"}},{multi:true})