我使用 MongoDB 作为我的数据库。我有一个数据:
{
_id : '123'
friends: [
{name: 'allen', emails: [{email: '11111', using: 'true'}]}
]
}
现在,我想修改用户朋友的电子邮件地址,其_id是'123'
我这样写:
db.users.update ({_id: '123'}, {$set: {"friends.0.emails.$.email" : '2222'} })
这很简单,但是,当电子邮件数组有两个或更多数据时,这是错误的。
所以,我的问题是:
我如何修改嵌套文件中的数据——只有两个或更多嵌套数组?谢谢。
您需要使用点符号 http://docs.mongodb.org/manual/core/document/#dot-notation对于数组。
也就是说,您应该更换$
使用您尝试更新的元素的从零开始的索引。
例如:
db.users.update ({_id: '123'}, { '$set': {"friends.0.emails.0.email" : '2222'} });
将更新第一个朋友的第一封电子邮件,并且
db.users.update ({_id: '123'}, { '$set': {"friends.0.emails.1.email" : '2222'} })
将更新第一个朋友的第二个电子邮件。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)