MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Получаване на речник в списък по ключ в mongoDB (mongoengine)

Не съм запознат с MongoEngine, но операторът за проекция $ може да филтрира масив, за да покаже само съответстващия елемент. В обвивката на 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 } ] }

Повече информация:http://docs.mongodb.org/manual/reference/projection /позиционно/

Изглежда, че в MongoEngine правите:

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

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Django-nonrel използва ListField, съдържащ EmbeddedObjects в админ

  2. Синхронизиране на данните от mongoDB към elasticsearch с помощта на Logstash

  3. Mongoose upsert не създава свойство на схемата по подразбиране

  4. MongoDB:как да създадете удостоверена db чрез java драйвер

  5. MongoDB Агрегиране с $sample много бавно