MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So durchsuchen Sie eine Mongodb-Sammlung nach in einem Array verschachtelten Wörterbuchschlüsseln

Sie können dazu die Punktnotation in Ihren Abfrageschlüsseln verwenden, indem Sie den $exists verwenden Operator, um nur auf Existenz zu prüfen:

db.test.find({'files.IyzkmGh4YGD61Tc3TJjaEY17hDldH': {'$exists': 1}})

So finden Sie alle Dokumente, die diese Dateien enthalten, und entfernen sie:

db.test.update(
    {'files.IyzkmGh4YGD61Tc3TJjaEY17hDldH': {'$exists': 1}},
    {'$pull': {'files': {'IyzkmGh4YGD61Tc3TJjaEY17hDldH': {'$exists': 1}}}},
    multi=True)