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

Mongodb Агрегиране на редове към колони

това е голяма трудност, но ще получите това, от което се нуждаете :-)

моля, добавете $match в горната част на конвейера за агрегиране

db.collection.aggregate([{
            $project : {
                _id : 0,
                "Account" : 1,
                car : {
                    $cond : [{
                            $eq : ["$Element_Fieldname", "cars"]
                        }, "$Element_Value", null]
                },
                boats : {
                    $cond : [{
                            $eq : ["$Element_Fieldname", "boats"]
                        }, "$Element_Value", null]
                },
            }
        },
        {
            $group : {
                _id : "$Account",
                carData : {
                    $addToSet : "$car"
                },
                boatsData : {
                    $addToSet : "$boats"
                }
            }
        }, {
            $unwind : "$carData"
        }, {
            $match : {
                carData : {
                    $ne : null
                }
            }
        }, {
            $unwind : "$boatsData"
        }, {
            $match : {
                boatsData : {
                    $ne : null
                }
            }
        },
    ])

и резултат

{
    "_id" : 12345,
    "carData" : true,
    "boatsData" : false
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongodb:конвертиране на идентификатори на обекти в BSON::ObjectId

  2. Как да създавате индекси в MongoDB чрез .NET

  3. След като надстроих PHP до версия 7, защо не мога да използвам драйвера mongodb?

  4. Динамични заявки в MongoDB и Node.js

  5. docker mongo за единичен (само основен възел) комплект реплики (за разработка)?