通过MongoDB中的聚合框架将嵌入式对象作为文档检索

亚历山大·舍夫科年科(Alexander Shevkunenko)

如果我有一个文档,其中包含一个嵌入式对象作为其字段之一的值,如下所示:

{ _id: ObjectId("..."), embeddedObject: { k1: "val1", k2: "val2", k3: "val3" } }

那么如何使用聚合框架(管道运算符)将嵌入式对象本身作为输出文档检索呢?还是不可能?

即,我最终需要得到以下结果:

{ k1: "val1", k2: "val2", k3: "val3" }

尽管操作员$ project,$ match,$ unwind,$ group解决了紧密的问题,但似乎没有一个能够准确地满足我的上述要求。

雅思(Yathish Manjunath)

可以使用聚合管道运算符$ replaceRoot中的一个来实现

  db.[collection].aggregate( [
       {
         $replaceRoot: { newRoot: "$embeddedObject" }
       }
    ] );

这将导致以下输出:

{ k1: "val1", k2: "val2", k3: "val3" }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Spring Data MongoDB-嵌入式文档在其他文档中作为参考

将嵌入式文档插入到mongodb文档中的新字段

mongo db中嵌入式文档中的条件聚合

更新Mongodb中的嵌入式文档:性能问题?

根据mongoDB聚合中的条件,项目嵌入式文档密钥值

mongodb聚合中的项目嵌套嵌入式文档

基于范围查询MongoDB中嵌入式文档的数组

将嵌入式文档数组转换为mongoDB中的元素数组

如何在mongodb中搜索嵌入式文档?

查询Spring Data MongoDB中嵌入式文档的数组

更新mongodb中arrays对象的arrays的嵌入式文档

MongoDB查询-聚合和嵌入式文档

MongoDB-将嵌入式文档中的行解压缩到自己的列中

嵌入式文档的$ divide元素-MongoDB聚合

嵌入式文档数组中的MongoDB Aggregate ObjectId

MongoDB聚合:通过动态字段路径从嵌入式文档添加字段

如何在嵌入式数组mongodb中查询嵌入式文档

检索嵌入式数组并作为mongodb中的对象集合返回

在mongodb中更新嵌套的嵌入式文档

Mongodb:如何使用聚合框架仅返回嵌入式文档

如何使用Mongoose将值推入MongoDB中嵌入式文档中的数组?

查询MongoDB中的嵌入式文档

php:将mongodb嵌入式文档查询到数组中

通过在嵌入式对象中搜索键范围在mongodb中进行聚合

与数组比较,如何在mongodb中检索部分嵌入式文档?

使用python(pymongo)在mongodb中编辑嵌入式文档

在mongodb中展开嵌入式文档

Mongodb:将字段添加到嵌入式文档中(无数组)

如何在 MongoDb 中查询嵌入式文档?