收藏
回答

聚合查询lookup如何排序呢?

尝试着在collection()后边加.orderBy,然后就会在调用该云函数的地方报一个错:


回答关注问题邀请回答
收藏

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-11-19

    db.collection('table1').aggregate()

    .......

    .lookup({

        from: 'table2',

        pipeline: $.pipeline()

            .....

            .sort({

                age: -1 // age倒序

            })

            .done(),

        as: 'rows2',

    })

     .sort({

        age: -1 // age倒序

    })

    .end()


    2019-11-19
    有用 1
    回复 3
    • 扭纹柴
      扭纹柴
      2019-11-19
      看文档有点吃力,然后在文档sort介绍里并没有说应该在哪用。必须在pipeline里面用吗?谢谢
      2019-11-19
      1
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-11-19回复扭纹柴
      也不是,聚合阶段可以用
      就是db.collection('xxx').aggregate()后面
      .sort(...)
      2019-11-19
      1
      回复
    • 扭纹柴
      扭纹柴
      2019-11-19
      解决了,nice
      return db.collection('items').aggregate().sort({
            date: -1
          }).lookup({
            from: 'users',
            // pipeline: $.pipeline().sort({
            // date: -1
            // }).done(),
            localField: '_openid',
            foreignField: '_openid',
            as: 'userInfo',
          }).end()
      2019-11-19
      回复
  • 老张
    老张
    2019-11-19

    orderBy不能用于聚合,

    聚合里是sort。

    2019-11-19
    有用 1
    回复
登录 后发表内容
问题标签