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

Мога ли лесно да върна всички полета на поддокумент като полета в документа от най-високо ниво, като използвам рамката за агрегиране?

Можете да използвате $replaceRoot оператор за агрегиране от 3.4:

db.getCollection('sample').aggregate([
    {
        $replaceRoot: {newRoot: "$field1"}
    }
])

Предоставя изход според очакванията:

{
    "subfield" : {},
    "subfield2" : [],
    "subfield3" : 44,
    "subfield5" : "xyz"
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDb уникални ограничения за период от време

  2. Актуализиране на 2 схеми на mongoose в api повикване

  3. База данни за избор за игра

  4. MongoDB заявка в хранилището на Spring:ограничаване на броя на записите след филтър

  5. MongoDB извлича стойности от BasicDBObject (Java)