Я пытаюсь запросить определенный элемент внутри массива в коллекции Meteor на стороне клиента, но Minimongo не поддерживает оператор $. Есть ли альтернатива фильтрации моего запроса, чтобы он возвращал только определенный элемент в массиве?
Моя коллекция устроена так:
{
"userID": "abc123",
"array": [
{
"id": "foo",
"propA": "x",
"propB": "y"
},
{
"id": "bar",
"propA": "a",
"propB": "b"
}
]
}
Я пытаюсь написать запрос, который возвращает только объект в массиве с идентификатором «foo». В Mongo этот запрос будет таким:
collection.find({
"userID": "abc123",
"array.id": "foo"
}, {
"array.$": 1
});
Однако Minimongo не поддерживает оператор $ в проекциях, поэтому возникает ошибка. Я пробовал аналогично структурированные запросы, используя $elemMatch, и пробовал решение, описанное здесь но это не дает того, что я пытаюсь сделать.
Есть ли альтернативные средства запроса одного элемента в этом массиве с помощью Minimongo?
_.findWhere(Collection.findOne({userId: 'x'}).array, {id: 'y'})
31.03.2016