Mongodb 使用mongo中$group内生成的字段
我有一个mongo查询,它执行以下操作:Mongodb 使用mongo中$group内生成的字段,mongodb,mongodb-query,Mongodb,Mongodb Query,我有一个mongo查询,它执行以下操作: $group: { _id: { ....}, foo: { $push: { field1: { $map: { input: "myObjects", as: "obj", in: "$$obj.title" } field2: myArray } } } 我想将field1与myArray连接起来以生成field2。我试着这样做: field2:{$concatarray:[“$field1
$group: {
_id: { ....},
foo: {
$push: {
field1: { $map: { input: "myObjects", as: "obj", in: "$$obj.title" }
field2: myArray
}
}
}
我想将field1与myArray连接起来以生成field2。我试着这样做:
field2:{$concatarray:[“$field1”,myArray]}
但是我只从myArray中获取值。您的意思是您试图在同一个
$group
语句中执行此操作?这是因为当时不存在$field1
。相反,执行$push:{“组合”:{“$concatarray”:[myArray,{“$map”:{“input”:“$myObjects”,“in”:“$$this.title”}]}
。这纠正了一个问题,但我不完全相信这就是你想要的。您的问题中不清楚myArray
是您自己的变量还是文档中的字段,这与myObjects
相同(我假定是一个“字段”,因此“$myObjects”
)。您可以通过显示一个小数据示例和您期望的内容来更清楚地说明这一点。此外,这里提供数组时,$push
的结果将是“包含数组的单个属性的对象数组”。所以再说一遍,我不相信这就是你想要的。举个例子让每个人都明白你的期望。你的建议很有效!谢谢,尼尔!请把这个作为回答,这样我就可以接受了