MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

como pesquisar em uma coleção do mongodb por chaves de dicionário aninhadas em array


Você pode usar a notação de ponto em suas chaves de consulta para fazer isso, usando o $exists operador para apenas verificar a existência:
db.test.find({'files.IyzkmGh4YGD61Tc3TJjaEY17hDldH': {'$exists': 1}})

Para encontrar todos os documentos que contêm esses arquivos e removê-los:
db.test.update(
    {'files.IyzkmGh4YGD61Tc3TJjaEY17hDldH': {'$exists': 1}},
    {'$pull': {'files': {'IyzkmGh4YGD61Tc3TJjaEY17hDldH': {'$exists': 1}}}},
    multi=True)