我有一个包含这样的文档的集合
{
"_id" : ObjectId("59de9454e4b03289d79eeab4"),
"type" : "Draft",
.
.
.
headers
{
"payload" : [
{
"_id" : "ABC",
},
{
"_id" :"DEF",
}]
我应该如何将_Id值存储在像
这样的变量中result: ["ABC","DEF"]
我尝试了这样的查询,但无效
var result = []
db.request.find({"_id" : ObjectId("59de9454e4b03289d79eeab4")}).forEach(function(u) { result.push(u.headers.payload._id) })
答案 0 :(得分:0)
您的输入文档有点格式错误,但如果array.reduce<string[]>(...)
是payload
的单个字段子字段,即它不是数组,并且您想要执行headers
或以其他方式过滤在您提取$match
值并且您想要所有_id
值(不是一个不同的集合)并在一个名为_id
的字段中整齐地返回之前的材料,那么这就是诀窍:
result