Монго - переименование нескольких ключей во вложенных документах

У меня есть следующая коллекция, которая содержит несколько вложенных документов:

{ "_id" : ObjectId("fdgfdgdfgfdgdfgfdgdfg"), 
    "man" : 
        [ { 
            "name" : a, 
            "value" : b 
            }, 
        { 
            "name" : c, 
            "value" : d
            }, 
        { 
            "name" : e, 
            "value" : f 
            },
        ] }
    "data" : 
        [ {
            "name" : g, 
            "refresh" : h
            } 
        .
        .
        .

Я хотел бы переименовать каждое вхождение ключа вложенного документа "обновить" в "имя" в ситуации, когда я не знаю имя ключа верхнего уровня, это возможно сделать?

Бонусный вопрос:

db.collection.find ({}, {"refresh": 1}) выдаст мне все _id, которые содержат ключ обновления, например

{ "_id" : ObjectId("59c8ccebd280ff3d203cf0c9"), "refresh" : false }
{ "_id" : ObjectId("59c8ccebd280ff3d203cf0ca"), "refresh" : false }
{ "_id" : ObjectId("59c8ccebd280ff3d203cf0cb"), "refresh" : false }
{ "_id" : ObjectId("59c8ccebd280ff3d203cf0cc"), "refresh" : false }
.
.
.

Есть ли способ, которым я мог бы перечислить ключ верхнего уровня всех поддокументов, которые содержат ключ с именем refresh?

Большое спасибо

0 ответов

Другие вопросы по тегам