【发布时间】:2017-05-13 08:20:02
【问题描述】:
我的数据库中存储了以下数据。
[
{
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}})
所以这将根据日期和用户名将詹姆斯的年龄从 18 岁更新为 5 岁。
但是如何批量更新,说一个日期范围?对上述查询使用循环?我觉得效率不高。需要指导。
【问题讨论】:
标签: node.js mongodb express mongoose mongodb-query