如何在mongo聚合查询中保证原始数组的顺序

问题描述 投票:1回答:1

我有一个像这样的ObjectId数组

// Post Schema
{
  _id: ObjectId('..'),
  categories: [ObjectId('...'),ObjectId('...'),ObjectId('...')...]
}


// Category Schema
{
  _id: ObjectId('..'),
  name: '...',
  ...
}

// query
Post.aggregate()
  .match({ _id: targetPostId })
  .lookup({
     from: 'categories',
     localField: 'categories',
     foreignField: '_id',
     as: 'categories',
  })

而且当我通过聚合查找运行mongo查询时,我注意到该Array的顺序与原始顺序不同。

使用查找时如何保持原始数组的顺序?

mongodb mongoose
1个回答
0
投票

您可以将$lookup与自定义$lookup一起使用>

pipeline
© www.soinside.com 2019 - 2024. All rights reserved.