【发布时间】:2022-01-03 17:13:54
【问题描述】:
我正在尝试获取 mongo DB 集合中存在的字段名称,到目前为止我已经构建到这里:
db.getCollection('appd_application_master').aggregate([
{"$project":{"arrayofkeyvalue":{"$objectToArray":"$$ROOT"}}},
{"$unwind":"$arrayofkeyvalue"},
{"$group":{"_id":null,"allkeys":{"$addToSet":"$arrayofkeyvalue.k"}}},
{"$unwind":"$allkeys"}
])
但问题是,如果集合包含任何数组,那么我无法访问其中的字段,请帮助或指导正确的方向?TIA
这是一个集合的样本记录
{
"_class": "com.json.SvnCommitMst",
"_id": "38735",
"author": "10662365",
"commitDate": ISODate( "2021-09-30T08:28:01.159Z"),
"isLatest": false,
"mapSvnFilesMst": [
{
"_id": ObjectId( "618df1b32109446cb6ef58d6"),
"commitAction": "MODIFY"
}
],
"message": "Rohit:\n\nUser Repo tool validation changes",
"projectToolId": 92
}
我在当前查询中得到的响应:
{
"_id" : null,
"allkeys" : [
"isLatest",
"author",
"_id",
"message",
"projectToolId",
"_class",
"mapSvnFilesMst",
"commitDate"
]
}
【问题讨论】:
-
你能发布你想要得到的输出吗?
-
也许是this?
-
@Takis_ 我想要字段 mapSvnFilesMst 中存在的数组详细信息
标签: database mongodb mongodb-query nosql aggregation-framework