sql >> Database teknologi >  >> NoSQL >> MongoDB

MongoDB - Find dokumenter, der matcher visse betingelser for ukendte feltnøgler

Du skal starte med $objectToArray at læse dine nøgler dynamisk. Så kan du $map egenskaber sammen med $anyElementTrue for at opdage, om der er et indlejret felt i thing indeholdende {"attribute1":"typeC"} :

db.collection.aggregate([
    {
        $match: {
            $expr: {
                $anyElementTrue: {
                    $map: {
                        input: { $objectToArray: "$thing" },
                        in: { $eq: [ "$$this.v.attribute1", "typeC" ] }                         
                    }
                }
            }
        }
    }
])

Mongo Playground



  1. fjern _id fra mongodb resultat java

  2. MongoDB sammensat nøgle

  3. Tjek om der findes et indeks i mongodb

  4. Hvordan opdaterer du flere felter ved hjælp af Update.Set i MongoDB ved hjælp af den officielle c#-driver?