Скажем, у меня есть следующая схема документа в коллекции под названием "пользователи":
{
name: 'John',
items: [ {}, {}, {}, ... ]
}
Массив элементов содержит объекты в следующем формате:
{
item_id: "1234",
name: "some item"
}
Каждый пользователь может иметь несколько элементов, встроенных в массив "items".
Теперь я хочу, чтобы иметь возможность извлекать элемент item_id для данного пользователя.
Например, я хочу получить элемент с идентификатором "1234", принадлежащим пользователю с именем "Джон".
Могу ли я сделать это с помощью mongoDB? Я бы хотел использовать его мощную индексацию массива, но я не уверен, что вы можете запускать запросы на встроенных массивах и возвращать объекты из массива вместо документа, который содержит его.
Я знаю, что могу получить пользователей, которые имеют определенный элемент, используя {users.items.item_id: "1234" }. Но я хочу получить фактический элемент из массива, а не пользователя.
Альтернативно, может быть, лучший способ организовать эти данные, чтобы я мог легко получить то, что хочу? Я до сих пор довольно новичок в mongodb.
Спасибо за любую помощь или совет, которые вы можете предоставить.