Mongodb 在聚合中创建对象
在使用聚合框架按用户ID分组之后,我得到了这个结果。我想创建一个具有“合并”数组foo和功能的单个文档 我的集合Mongodb 在聚合中创建对象,mongodb,Mongodb,在使用聚合框架按用户ID分组之后,我得到了这个结果。我想创建一个具有“合并”数组foo和功能的单个文档 我的集合 { "result" : [ { "_id" : { "userId" : ObjectId("53bab268ceee750615240269") }, "foo" : [ "0.109",
{
"result" : [
{
"_id" : {
"userId" : ObjectId("53bab268ceee750615240269")
},
"foo" : [
"0.109",
"0.105",
"0.50",
"0.1",
"foo"
],
"ability" : [
"Power",
"Energy",
"ReactiveEnergy",
"Stamina",
"bar"
]
}
],
"ok" : 1
}
我喜欢吃
{
"result" : [
{
"_id" : {
"userId" : ObjectId("53bab268ceee750615240269")
},
"fooFinal" : [
{"0.109",power}
{"0.105",Energy }
{"0.50",ReactiveEnergy }
{"0.1",Stamina }
{"foo",bar}
],
}
],
"ok" : 1
}
我想使用类似的$each,但我不能在聚合中使用它在您的$group中尝试这样做
$group:{
_id:{'userId':'$userId'},
'fooFinal' : {$push:{
foo:'$foo',
ability:'$ability'}
}
}
在$group中尝试这样做
$group:{
_id:{'userId':'$userId'},
'fooFinal' : {$push:{
foo:'$foo',
ability:'$ability'}
}
}
对于结果来说,这不是一个有效的结构。你们的意思是仅仅在不同的键下获取这些值还是作为“对”的数组?另外,了解一下从中获取结果的原始文档的结构会很有帮助。您发布的所有内容都是您当前的聚合结果以及您想要得到的结果(结构无效)。它有助于了解您作为源文档的“来源”以及您当前正在做的事情,如当前的聚合操作。在MongoDB 2.6中,聚合框架中没有数组索引操作符,因此我不确定如何组合这两个数组。查看您开始使用的文档格式肯定会有所帮助,因为可能有更简单的转换方法。我还建议在MongoDB Jira issue tracker中进行upvoting/watching,这是对数组索引操作符的特性请求。对于结果来说,这不是有效的结构。你们的意思是仅仅在不同的键下获取这些值还是作为“对”的数组?另外,了解一下从中获取结果的原始文档的结构会很有帮助。您发布的所有内容都是您当前的聚合结果以及您想要得到的结果(结构无效)。它有助于了解您作为源文档的“来源”以及您当前正在做的事情,如当前的聚合操作。在MongoDB 2.6中,聚合框架中没有数组索引操作符,因此我不确定如何组合这两个数组。查看您开始使用的文档格式肯定会有所帮助,因为可能有更简单的转换方法。我还建议在MongoDB Jira问题跟踪器中进行投票/监视,这是对数组索引操作符的特性请求。