Remova o operador posicional(
$
) da query
parâmetro da update
função. Meteor.users.update(
{
_id:options.userId,
'buyer.boards.title':options.boardTitle
},
{ $push: {
'buyer.boards.$.idArr':options.newId }
}
);
Dos documentos:
db.collection.update(
{ <array>: value ... },
{ <update operator>: { "<array>.$" : value } }
)
O operador posicional deve ser usado no
update
parâmetro e não na query
parâmetro. Isso atualiza apenas as primeiras boards
objeto que tem o title
correspondente .