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

MongoDB $търсене на вложен документ

в този случай е необходима хубава игра с $unwind и $project в рамката за агрегиране

моля, вижте по-долу:

db.alumni.aggregate([
    {$match: {_id: 'john'}},
    {$unwind:"$items"},
    {$unwind:"$items.items"},
    {$lookup: {
        from: 'schools', 
        localField: 'items.items.school', 
        foreignField: '_id', 
        as: 'schoolInfo'}},
    {$unwind:"$schoolInfo"},
    {$project:{
        "_id":1,
        "items":[{
            "name":"$items.name",
            "items":[{
            "school":"$schoolInfo._id"    ,
            "grad":"$items.items.grad"    ,
            "schoolInfo":"$schoolInfo"
            }]
        }]            
    }}
]).pretty()

за да видите как работи - опитайте да премахнете етапите на агрегиране от заявката и проверете структурата на документа.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoMapper близо с maxDistance - Mongo::OperationFailure:гео стойностите трябва да са числа:

  2. синтаксис на pymongo за актуализиране на поддокумент

  3. Какъв е правилният начин за индексиране в MongoDB, когато съществува голяма комбинация от полета

  4. Как да стартирате MongoDB и Mongo-express с docker-compose?

  5. MongoDB $tanh