【发布时间】:2015-09-01 05:02:27
【问题描述】:
示例文档:
{
"_id" : "5fTTdZhhLkFXpKvPY",
"name" : "example",
"usersActivities" : [
{
"userId" : "kHaM8hL3E3As7zkc5",
"startDate" : ISODate("2015-06-01T00:00:00.000Z"),
"endDate" : ISODate("2015-06-01T00:00:00.000Z")
}
]
}
我是 mongoDB 的新手,我阅读了有关更新嵌套数组的其他问题,但我无法正确执行。我想要做的是更改具有给定 userId 的用户的 startDate 和 endDate。我的问题是它总是将新对象推送到数组而不是使用给定的 userId 更改对象。
Activity.update(
_id: activityId, usersActivities: {
$elemMatch: {
userId: Meteor.userId()
}
}},
{
$push: {
'usersActivities.$.startDate': start,
'usersActivities.$.endDate': end
}
}
);
我会很高兴得到帮助。
【问题讨论】:
标签: arrays mongodb meteor nested database