我对 mongodb 更新方法有一点问题。这是我的(简化的)模式:
{
profile: {
birthdate: "XXX",
city: "xxx"
},
account: {
username: "...",
password: "....",
visits: 0
}
}
我在数据库中有 2000 个对象。我想通过删除用户名值来匿名化数据。
我试过这个:
db.users.update({}, {$set: account: {username: ""}}, false, true);
这不起作用,此查询删除密码字段并访问。我明白为什么,但怎么办?
db.users.update({}, {account: { $set: {username: ""}}}, false, true);
mongo 想要分配“$set”字段,所以这不起作用。
我的问题是:如何在不删除整个“帐户”子文档的情况下更新后代字段?
(将“upsert”设置为 true 也是如此。)