Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb 在聚合中创建对象_Mongodb - Fatal编程技术网

Mongodb 在聚合中创建对象

Mongodb 在聚合中创建对象,mongodb,Mongodb,在使用聚合框架按用户ID分组之后,我得到了这个结果。我想创建一个具有“合并”数组foo和功能的单个文档 我的集合 { "result" : [ { "_id" : { "userId" : ObjectId("53bab268ceee750615240269") }, "foo" : [ "0.109",

在使用聚合框架按用户ID分组之后,我得到了这个结果。我想创建一个具有“合并”数组foo和功能的单个文档

我的集合

{
    "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问题跟踪器中进行投票/监视,这是对数组索引操作符的特性请求。