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

MongoDB заявка за връщане само на вграден документ

Мисля, че това, което искаше, е това:

print db.dvds.aggregate([
  {"$unwind": "$episodes"}, # One document per episode
  {"$match": {"episodes.title": "Episode 1"} }, # Selects (filters)
  {"$group": {"_id": "$_id", # Put documents together again
              "episodes": {"$push": "$episodes"},
              "title": {"$first": "$title"} # Just take any title
             }
  },
])["result"]

Резултатът (освен празните интервали) е:

[ { u'episodes': [ { u'title': u'Episode 1',
                     u'desc': u'...'
                   }
                 ],
    u'_id': ObjectId('51542645a0c6dc4da77a65b6'),
    u'title': u'The Hitchhikers Guide to the Galaxy'
  }
]

Ако искате да се отървете от u"_id" , добавете конвейера с:

  {"$project": {"_id": 0,
                "episodes": "$episodes",
                "title": "$title"}
               }


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Имената на полета FieldPath не може да съдържат „.“ в $група

  2. Запитване на MongoDB за съвпадение в първия елемент в масива

  3. Изчислете стойността на пропускане за даден запис за сортирани страници

  4. Разлика между декорирането на свойство в C# с BsonRepresentation(BsonType.ObjectId) срещу BsonId срещу ObjectId

  5. Надстройка до ClusterControl Enterprise Edition