Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.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
Javascript mongoDB:字段值递增的聚合_Javascript_Mongodb - Fatal编程技术网

Javascript mongoDB:字段值递增的聚合

Javascript mongoDB:字段值递增的聚合,javascript,mongodb,Javascript,Mongodb,我需要将包含嵌套文档的集合转换为包含父引用的模型树结构。新文档应该有一个递增值的字段,每个文档的递增值从1开始 我的结构是这样的: { "_id" : "sdaGREsfRdfGdFdwG", "docTitle" : "Document 1", "group" : [ { "id" : "cdPhkTpMXi8z6TqMT" "title" : "title 1", "data" :

我需要将包含嵌套文档的集合转换为包含父引用的模型树结构。新文档应该有一个递增值的字段,每个文档的递增值从1开始

我的结构是这样的:

{
    "_id" : "sdaGREsfRdfGdFdwG",
    "docTitle" : "Document 1",
    "group" : [
        {
            "id" : "cdPhkTpMXi8z6TqMT"
            "title" : "title 1",
            "data" : [
                {
                    "id" : "Nkspf5kKfPo3axeJA",
                    "some" : "data",
                    "other" : "things",
                    "and" : "so on",    
                },
                {
                    "id" : "vyjgkuNXRN9KkCd5o",
                    "some" : "data",
                    "other" : "things",
                    "and" : "so on",    
                }
            ],

        },
        {
            "id" : "TuibXPe5qMvqdMW6q"
            "title" : "title 2",
            "data" : [
                {
                    "id" : "f5L5zsSNRSQKWoAXL",
                    "some" : "data",
                    "other" : "things",
                    "and" : "so on",    
                },
                {
                    "id" : "Ca8ncFgq83RoeD8he",
                    "some" : "data",
                    "other" : "things",
                    "and" : "so on",    
                },
            ],

        }
    ]
}
如您所见,有一个组数组,我想将其转换为单个文档:

{
    "_id" : "cdPhkTpMXi8z6TqMT"
    "title" : "title 1",
    "type" : "group",
    "order": 1,
    "parent" : "sdaGREsfRdfGdFdwG"
},
{
    "_id" : "TuibXPe5qMvqdMW6q"
    "title" : "title 2",
    "type" : "group",
    "order": 2,
    "parent" : "sdaGREsfRdfGdFdwG"
}
我是通过
聚合

db.myCol.aggregate([{$unwind:"$group"}, 
    {$project:{_id:"$group.id", title:"$group.title", 
               parent:"$_id", type:{$literal:"group"}}},
    { $out : "target" }
]);

但我不知道如何设置具有递增值的order字段。对于每个主文档,这个递增值应该从1开始。尝试使用
includearayindex:“arrayIndex”


它只适用于MongoDB版本>=3.2看看这个答案
{
  $unwind:
  {
    path: <field path>,
    includeArrayIndex: <string>,
    preserveNullAndEmptyArrays: <boolean>
  }
}