Поиск в монго по ключам и значениям во всем неизвестном документе - PullRequest
0 голосов
/ 30 августа 2018

Как искать в монго по ключам и значениям в документе с неизвестной структурой?

Например:

{ 
  "accounting" : [   
                 { "firstName" : "John",  
                   "lastName"  : "Doe",
                   "age"       : 23 },

                 { "firstName" : "Mary",  
                   "lastName"  : "Smith",
                    "age"      : 32 }
             ],                            
  "sales"      : [ 
                 { "firstName" : "Sally", 
                   "lastName"  : "Green",
                    "age"      : 27 },

                 { "firstName" : "Jim",   
                   "lastName"  : "Galley",
                   "age"       : 41 }
             ] 
} 

Когда я выполняю запрос по '' age '', я хотел бы получить документ с ключами age, как указано выше, а также документы с возрастом в текстовом значении. Есть идеи?

1 Ответ

0 голосов
/ 30 августа 2018

попробуй с каркасом агрегирования:

db['01'].aggregate(
    [
        {
            $project: {
                root:{$objectToArray:"$$ROOT"}
            }
        },
        {
            $match: {
              $or:[
              {"root.v.age":23},
              {"root.v.age":"23"}
            ]
            }
        },
        {
            $replaceRoot: {
                newRoot: {$arrayToObject:"$root"}
            }
        },
    ],
);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...