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

Mongodb-forespørgsel på indlejrede array-elementer

Da der ikke er nogen måde at fortælle, hvilken driver du bruger, er her en shell-løsning:

db.foo.find({
    "Asset.Metadata.Platforms.Platform": {
        $elemMatch: {
            "@name": VAR_PLATFORM,
            "PublishingRanges.PublishingRange": {
                $elemMatch: {
                    "@startdate": {$gt: VAR_START},
                    "@enddate": {$lt: VAR_END}
                }
            }
        }
    }  
})

I øvrigt kunne du forenkle dokumentstrukturen ved at udelade Platform og PublishingRange og tildeling af arrays til Platforms en PublishingRanges hhv.




  1. korrekt måde at returnere json-format ved hjælp af node eller express

  2. Har brug for et tydeligt antal på flere felter, der blev sammenføjet fra en anden samling ved hjælp af mongodb aggregeringsforespørgsel

  3. MongoDB vil ikke oprette forbindelse til MongoHQ ved hjælp af Mongoid

  4. manglende import af pymongo ubuntu