【mongoose】aggregate 如何查询返回下标

杨成功
  • 1.3k

现查询如下:

Modal.aggregate([
    { $match: {_id: 'xxx'}}
])

查询结果:

[
    {
        name: 'n1',
        sex: 1
    },
    {
        name: 'n2',
        sex: 2
    },
    {
        name: 'n3',
        sex: 1
    }
]

如何在aggregate查询出当前对象索引,返回给n字段,如下:

[
    {
        n: 0,
        name: 'n1',
        sex: 1
    },
    {
        n: 1,
        name: 'n2',
        sex: 2
    },
    {
        n: 2,
        name: 'n3',
        sex: 1
    }
]

求大神解答

回复
阅读 997
1 个回答

第一点,你match的是_id,正常情况下应该是只会查询到一条文档的,怎么会返回多条呢?

假设你的_id是非unique的,你想要给每条文档新增一个index属性,这也是很奇怪的想法,因为如果还有后续的聚合操作的话,文档顺序总是改变的,加index完全没必要;如果没有后续聚合了,那么返回的文档进行一次map操作手动添加即可

你知道吗?

宣传栏