AggregateCommand.zip(value: any): Object

    聚合操作符。把二维数组的第二维数组中的相同序号的元素分别拼装成一个新的数组进而组装成一个新的二维数组。如可将 转换成 [ [ 1, "a" ], [ 2, "b" ], [ 3, "c" ] ]

    Object

    语法如下:

    useLongestLength 决定输出数组的长度是否采用输入数组中的最长数组的长度。默认为 false,即输入数组中的最短的数组的长度即是输出数组的各个元素的长度。

    defaults 是一个数组,用于指定在输入数组长度不一的情况下时采用的数组各元素默认值。指定这个字段则必须指定 ,否则返回错误。如果 useLongestLengthtrue 但是 defaults 是空或没有指定,则 zipnull 做数组元素的缺省默认值。指定各元素默认值时 defaults 数组的长度必须是输入数组最大的长度。

    1. { "_id": 1, "zip1": [1, 2], "zip2": [3, 4], "zip3": [5, 6] ] }
    2. { "_id": 2, "zip1": [1, 2], "zip2": [3], "zip3": [4, 5, 6] ] }
    3. { "_id": 3, "zip1": [1, 2], "zip2": [3] ] }

    只传 inputs

    返回结果如下:

    1. { "_id": 3, "zip": null }

    设置 useLongestLength

    如果设 useLongestLengthtrue

    1. { "_id": 1, "zip": [ [1, 3, 5], [2, 4, 6] ] }
    2. { "_id": 2, "zip": [ [1, 3, 4], [2, null, 5], [null, null, 6] ] }
    3. { "_id": 3, "zip": null }

    设置 defaults

    返回结果如下:

    1. { "_id": 1, "zip": [ [1, 3, 5], [2, 4, 6] ] }
    2. { "_id": 2, "zip": [ [1, 3, 4], [2, -200, 5], [-300, -200, 6] ] }