Предположим, у меня есть следующий документ в коллекции:
{
"_id":ObjectId("1123562e7c594c12942f"),
"figures":[
{
"shape":"square",
"color":"blue"
},
{
"shape":"triangle",
"color":"black"
}
]
}
Я хотел бы сделать запрос, который выбирает поле "shape"
из второго элемента массива "figures"
.
Используя db.test.find({}, {"figures": {$slice: [2, 1]}})
, вы можете получить доступ ко второму элементу "figures"
, но можете ли вы также выбрать оттуда только поле "shape"
?
.find()
? Нет. Вы можете использовать метод.aggregate()
. Но лучше делать это на стороне клиента. - person styvane   schedule 06.01.2016