Я пытаюсь найти элементы с определенным путем \ parent.
Пример данных:
Документ A:
{
"traces": [{
"act": {
"account": "555",
"name": "Bob"
}
},
{
"act": {
"account": "666",
"name": "Mary"
}
}
],
"other": [{
"act": {
"account": "555",
"volume": "PPPPP"
}
}
]
}
Документ B:
{
"traces": [
{
"act": {
"account": "666",
"name": "Mary"
}
}
],
"other": [{
"act": {
"account": "555",
"volume": "PPPPP"
}
}
]
}
Поэтому при поиске в двух вышеуказанных документах я хочу, чтобы мой поиск соответствовал Документу A, но НЕ документу B
Если я использую приведенный ниже оператор поиска:
db.action_traces.find({ "act.account" : { $in: [ "555" ]}).limit().forEach(function(result){
print(.....);
});
Itпохоже, что он будет соответствовать A и B, потому что оба имеют элементы в разделе "other", которые соответствуют.
Как мне указать, что я хочу сопоставлять только трассы. {Любой элемент в массиве} .act.account?