猫鼬来自许多集合

时间:2020-12-30 04:35:52

标签: mongoose populate

我想从多个集合中填充,然后按日期对其进行排序并将所有数据收集到一个数组中。 到目前为止,我有这个

 await User.findById(req.user._id)
  .populate([
    { path: 'posts.collection1', select, limit: LIMIT },
    { path: 'posts.collection2', select, limit: LIMIT },
    { path: 'posts.collection3', select, limit: LIMIT },
    { path: 'posts.collection4', select, limit: LIMIT },
    { path: 'posts.collection5', select, limit: LIMIT },
  ])
  .sort({ createdAt: -1 })

  .exec((err, user) => {
    if (err) {
      return res
        .status(401)
        .send({ success: false, message: 'Server failed with respond' });
    }

.......

女巫给了我带有键/值的对象

"posts": {
        "collection1": [
            {
                "_id": "5febfccb613c268e5335451c",
                "category": "musicians",
            }
        ],
        "collection2": [
            {
                "_id": "5febfccb613c268e5335845c",
                "category": "musicians",
            }
        ],
        "collection3": [],
        "collection4": [],
        "collection5": []
    },

我想要的是“帖子”:[] 所有集合中的所有文档都归入一个数组并进行排序。 谢谢。

0 个答案:

没有答案