mongodb - 如何在 MongoDB 中将子文档展平为根级别?

例如,如果我有这样的文档

{
  a: 1,
  subdoc: {
    b: 2,
    c: 3
  }
}

我怎样才能把它转换成这样的格式? (不使用 project)

{
  a: 1,
  b: 2,
  c: 3
}

最佳答案

您可以使用MongoDB projection i.e $project aggregation framework pipeline operators也。(推荐方式)。如果您不想使用 project,请查看 link

db.collection.aggregation([{$project{ . . }}]);

以下是您的案例:

db.collectionName.aggregate
([
    { 
      $project: { 
        a: 1, 
        b: '$subdoc.b', 
        c: '$subdoc.c'
      } 
    }
]);

为您提供预期的输出,即

    {
        "a" : 1,
        "b" : 2,
        "c" : 3
    }

https://stackoverflow.com/questions/22903849/

相关文章:

node.js - 模拟/测试 Mongodb 数据库 Node.js

mongodb - 寻找 1 x 100 万个交叉点的最佳解决方案? Redis、Mongo、其他

javascript - MongoError,错误 :E11000 duplicate key e

mongodb - 使用 mongodb 或 cassandra 的空间数据

mongodb - MongoDB中聚合($match)和查找之间的区别?

mongodb - 使用 sphinx 搜索与 mongodb 作为数据源

javascript - 如何检查字符串是否包含 JavaScript 中的子字符串?

java - 编码对象时未使用 MongoDB BSON 编解码器

javascript - 如何重定向到另一个网页?

java - 如何直接从 Java 中的 mongodb 查询返回原始 JSON?