现在做一个分页查询文章(文章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再做分页查询?
这样试试:
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()