Meteor mongo que actualiza la matriz anidada
Documento de ejemplo:
{
"_id" : "5fTTdZhhLkFXpKvPY",
"name" : "example",
"usersActivities" : [
{
"userId" : "kHaM8hL3E3As7zkc5",
"startDate" : ISODate("2015-06-01T00:00:00.000Z"),
"endDate" : ISODate("2015-06-01T00:00:00.000Z")
}
]
}
Soy nuevo en mongoDB y leí otras preguntas sobre la actualización de la matriz anidada y no puedo hacerlo correctamente. Lo que quiero hacer es cambiar startDate y endDate para el usuario con un ID de usuario determinado. Mi problema es que siempre empuja un nuevo objeto a la matriz en lugar de cambiar el objeto con un ID de usuario dado.
Activity.update(
_id: activityId, usersActivities: {
$elemMatch: {
userId: Meteor.userId()
}
}},
{
$push: {
'usersActivities.$.startDate': start,
'usersActivities.$.endDate': end
}
}
);
Estaré realmente contento de ayudar.