我需要从以下集合中的cod_modalidadeoperacao中提取元素obj_modalidadeoperacao:
{
"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"
}
}当我使用这个过滤器时:
db.getCollection("c_usina").find({}, {id_bdt : 1, nom_curto : 1, "obj_modalidadeoperacao.cod_modalidadeoperacao" : 1 })我明白了:
{
"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"
}
}我想得到的是:
{
"id_bdt" : "AMBA",
"nom_curto" : "BALBINA ",
"cod_modalidadeoperacao" : "Tipo I"
}
{
"id_bdt" : "APCN",
"nom_curto" : "US.COA.NUNES ",
"cod_modalidadeoperacao" : "Tipo I"
}要执行此操作,需要在find命令中更改什么?
发布于 2022-10-21 15:05:29
查询的投影选项类似于聚合$projection阶段。
所以你可以这样做:
db.getCollection("c_usina").find({}, {
id_bdt: 1,
nom_curto: 1,
cod_modalidadeoperacao: "$obj_modalidadeoperacao.cod_modalidadeoperacao" // project a field with an expression
})https://stackoverflow.com/questions/74155130
复制相似问题