收藏
回答

数据库分页limit和联表查询lookup的时候报错?

现在做一个分页查询文章(文章collection)并联表查询每一篇文章的用户信息(用户collection),写法如下:

  db.collection('article')
  .orderBy('createTime', 'desc')
  .where(where)
  .skip((page - 1) * pageSize)
  .limit(pageSize)// limit返回的是collection
  .aggregate() // 在这里报了一个...limit is not a function,从面无法执行
  .lookup({
    from: 'user',
    localField: '_openid',
    foreignField: '_openid',
    as: 'userInfo'
  })
  .end()

请问哪里出错了,还是说要将article的所有数据都关联一下user再做分页查询?

最后一次编辑于  2020-08-22
回答关注问题邀请回答
收藏

1 个回答

  • 郑旭东
    郑旭东
    2020-08-19

    这样试试:

    db.collection('article')
      .aggregate() 
      .match(where)
      .sort({
        createTime: -1
      })
      .skip((page - 1) * pageSize)
      .limit(pageSize)
      .lookup({
        from: 'user',
        localField: '_openid',
        foreignField: '_openid',
        as: 'userInfo'
      })
      .end()
    
    
    2020-08-19
    有用 2
    回复 1
    • 来了
      来了
      2020-08-22
      实测是正确的,十分感谢
      2020-08-22
      回复
登录 后发表内容
问题标签