使用lookup查询时被连接集合的数量怎么控制?比如这个列子中 books 返回的数量。
const db = cloud.database()
db.collection('orders').aggregate()
.lookup({
from: 'books',
localField: 'book',
foreignField: 'title',
as: 'bookList',
})
.end()
.then(res => console.log(res))
.catch(err => console.error(err))
兄弟问题解决了吗,我也遇到了这个问题,被联的表很大,我只想要部分数据进行联表查询
其实不难,连接查询之后可以用limit进行返回函数的结果集进行数量返回,我用原先我写过的两张表给你举个例子:
// category_list表 { "_id": 1, "title": "粤菜" } // menu_list 表 { "_id": "f10018335eaa51ab002239cf4c705b38", "categoryType": "1", .... } // sql连接查询:menu_list 左连接 category_list表,查询食物菜系结果集,且返回前两条数据 db.collection('menu_list') .aggregate() .lookup({ from: 'category_list', localField: 'categoryType', foreignField: '_id', as: 'resultList', }) // 连接查询产生的结果集合 .limit(2) // 用limit返回前2条数据 .end()
测试结果: