我的数据存储在我的数据库中。用例是用户可以选择日期并批量更新年龄或名称。查询怎么样?
[
{
date:'1-1-2016',
users:[
{
'name':'james',
'age':18
},
{
'name':'alice',
'age':20
}
]
},
{
date:'2-1-2016',
users:[
{
'name':'james',
'age':18
},
{
'name':'alice',
'age':20
},
{
'name':'xiaomi',
'age':29
}
]
}
]
我用过这个Users.update({date:'1-1-2016','user.name':'james'},{'$set':'users.$.age':5}})
但它不是批量更新,它只更新单个文档。
答案 0 :(得分:1)
您可以在mongodb update
中设置多个真实选项离。如果要更新多个文档,请使用
Users.update({date:'1-1-2016','user.name':'james'},{'$ set':'users。$。age':5}},{multi:真})
但是如果有许多日期可以匹配使用
Users.update({date:{$ in:['1-1-2016','1-2-2016']},'user.name':'james'},{'$ set': 'users。$。age':5}},{multi:true})
答案 1 :(得分:-1)
您可以使用updateMany
。它是批量更新的特殊功能。请注意update
为deprecated。