Метеор Монго обновляет вложенный массив
Пример документа:
{
"_id" : "5fTTdZhhLkFXpKvPY",
"name" : "example",
"usersActivities" : [
{
"userId" : "kHaM8hL3E3As7zkc5",
"startDate" : ISODate("2015-06-01T00:00:00.000Z"),
"endDate" : ISODate("2015-06-01T00:00:00.000Z")
}
]
}
Я новичок в mongoDB и читаю другие вопросы об обновлении вложенного массива, и я не могу сделать это правильно. Я хочу изменить startDate и endDate для пользователя с заданным userId. Моя проблема заключается в том, что он всегда помещает новый объект в массив вместо изменения объекта с заданным идентификатором пользователя.
Activity.update(
_id: activityId, usersActivities: {
$elemMatch: {
userId: Meteor.userId()
}
}},
{
$push: {
'usersActivities.$.startDate': start,
'usersActivities.$.endDate': end
}
}
);
Я буду очень рад помочь.