У меня есть следующий документ (я не могу изменить структуру документа)
{
name: "Plastic",
items: [
{
collection: "Toys",
items: [{color: "red", etc.}, ...]
},
{
collection: "Window":
items: [{color: "blue", etc.} ...]
}
]
}
Теперь я хочу добавить предметы в Toys.items . Итак, насколько я понимаю, я должен использовать позиционированный отфильтрованный оператор $[<idetifier>]
для функции обновления mongodb. Однако функция обновления Метеор принимает только следующие функции
Mongo.Collection#update(selector, modifier, [options], [callback])
согласно документации . Итак, мне интересно, как я могу добиться подобного результата в метеоре? В mongodb должно работать следующее:
db.collection.update(
{ name: "Plastic" },
{ $push: { "items.$[name].items": {color: "Red", etc} } },
{ arrayFilters: [ {"name.collection": "Toys"} ] }
)
P.S .: Мой Монго дБ 4.0.0 и Метеор 1.7.0.3