首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongodb:从对象中提取元素

Mongodb:从对象中提取元素
EN

Stack Overflow用户
提问于 2022-10-21 14:22:38
回答 1查看 17关注 0票数 0

我需要从以下集合中的cod_modalidadeoperacao中提取元素obj_modalidadeoperacao

代码语言:javascript
复制
{
    "id_bdt" : "AMBA",
    "nom_curto" : "BALBINA             ",
    "obj_modalidadeoperacao" : {
        "_id" : ObjectId("6040e1feb97a0fde48b8f79c"),
        "id_bdt" : "7",
        "mrid_bdt" : "173355d7-e7e7-4727-b526-bc687b117bdc",
        "nom_modalidadeoperacao" : "USINA CUJA OPERAÇÃO IMPACTA A REDE DE OPERAÇÃO",
        "cod_modalidadeoperacao" : "Tipo I"
    }
}
{
    "id_bdt" : "APCN",
    "nom_curto" : "US.COA.NUNES        ",
    "obj_modalidadeoperacao" : {
        "_id" : ObjectId("6040e1feb97a0fde48b8f79c"),
        "id_bdt" : "7",
        "mrid_bdt" : "173355d7-e7e7-4727-b526-bc687b117bdc",
        "nom_modalidadeoperacao" : "USINA CUJA OPERAÇÃO IMPACTA A REDE DE OPERAÇÃO",
        "cod_modalidadeoperacao" : "Tipo I"
    }
}

当我使用这个过滤器时:

代码语言:javascript
复制
db.getCollection("c_usina").find({}, {id_bdt : 1, nom_curto : 1, "obj_modalidadeoperacao.cod_modalidadeoperacao" : 1 })

我明白了:

代码语言:javascript
复制
{
    "id_bdt" : "AMBA",
    "nom_curto" : "BALBINA             ",
    "obj_modalidadeoperacao" : {
        "cod_modalidadeoperacao" : "Tipo I"
    }
}
{
    "id_bdt" : "APCN",
    "nom_curto" : "US.COA.NUNES        ",
    "obj_modalidadeoperacao" : {
        "cod_modalidadeoperacao" : "Tipo I"
    }
}

我想得到的是:

代码语言:javascript
复制
{
    "id_bdt" : "AMBA",
    "nom_curto" : "BALBINA             ",
    "cod_modalidadeoperacao" : "Tipo I"
}
{
    "id_bdt" : "APCN",
    "nom_curto" : "US.COA.NUNES        ",
    "cod_modalidadeoperacao" : "Tipo I"
}

要执行此操作,需要在find命令中更改什么?

EN

回答 1

Stack Overflow用户

发布于 2022-10-21 15:05:29

查询的投影选项类似于聚合$projection阶段。

所以你可以这样做:

代码语言:javascript
复制
db.getCollection("c_usina").find({}, {
  id_bdt: 1,
  nom_curto: 1,
  cod_modalidadeoperacao: "$obj_modalidadeoperacao.cod_modalidadeoperacao" // project a field with an expression
})

MongoDB游乐场

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74155130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档