sql >> Databáze >  >> NoSQL >> MongoDB

Získání slovníku v seznamu podle klíče v mongoDB (mongoengine)

Nejsem obeznámen s MongoEngine, ale operátor projekce $ může filtrovat pole tak, aby zobrazilo pouze odpovídající prvek. V prostředí Mongo:

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

Další informace:http://docs.mongodb.org/manual/reference/projection /poziční/

Zdá se, že v MongoEngine děláte:

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

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



  1. Chyba transakce PyMongo:Čísla transakcí jsou povolena pouze u člena sady replik nebo mongo

  2. Nelze spustit/spustit místní mongo db

  3. Redis nebo Mongo pro určení, zda číslo spadá do rozmezí?

  4. Robo 3T Error:Síť je nedostupná