sql >> Databasteknik >  >> NoSQL >> MongoDB

Få en ordbok i en lista med nyckel i mongoDB (mongoengine)

Jag är inte bekant med MongoEngine, men $-projektionsoperatören kan filtrera en array för att bara visa det matchade elementet. I Mongo-skalet:

> db.foo.insert({"items": [{"id": 1}, {"id": 2}, {"id": 3}]})
> db.foo.find({'items.id': 1}, {'items.$': true})
{ "_id" : ObjectId("51ce29b68b178484ff2a01ed"), "items" : [  {  "id" : 1 } ] }

Mer info:http://docs.mongodb.org/manual/reference/projection /positionell/

Det verkar i MongoEngine du gör:

Foo.objects(__raw__={'items.id': 1}).only('items.$')

Mer:http://mongoengine-odm.readthedocs .org/en/latest/guide/querying.html#raw-queries



  1. Posta formulärdata till array av befintliga MongoDB-dokument med Express och Mongoose

  2. Tillgänglighet för operativ databas

  3. Nodejs prestandaoptimering

  4. Installerar du PHP 7 MongoDB-klienten/drivrutinen?