Ответ 1
Непонятно, что вы пробовали, но это должно работать, чтобы найти вышеупомянутый документ name
:
db.collection.find({ "value.v.name": "JW" })
У меня есть следующая структура документа:
{
"_id":"12345",
"value":{
"T":0,
"v":[
{
"name":"JW",
"cost":100
}
]
}
}
Как мне запросить ключ имени? Я пробовал обозначение точки, но не повезло (я думаю, что он работает только на двух уровнях)
Непонятно, что вы пробовали, но это должно работать, чтобы найти вышеупомянутый документ name
:
db.collection.find({ "value.v.name": "JW" })
Вам следует использовать оператор $elemMatch
:
db.collection.find({
'value.v': {
$elemMatch: {
name: 'JW', // "name == 'JW'"
cost : 100 //if you need "&& cost == 100"
}
}
});