表A[{id:1,name:张三,shitang:食堂一,shuliang:10 },{id:2,name:李四,shitang:食堂二,shuliang:20 },{id:3,name:王五,shitang:食堂一,shuliang:30 }]
表B[{id:1,name:张三,shitang:食堂一,shuliang:10,heji:2 },{id:2,name:李四,shitang:食堂二,shuliang:20,heji:3 }]
表B是通过表A而生成的,想要得到B表在A表中没有的id:3,name:王五,shitang:食堂一
两个表的关联字段为id,name,shitang。
就是当B表中如果有id,name,shitang这三个同时在表A中有的,就不要了。要那些不同的数据。
相当于数组A[1,2,3,4,5],B[1,2,3] 要得到4,5
想不出办法了,有大神帮忙下吗?
db.collection('A').aggregate() .lookup({ from: 'B', localField: 'id', foreignField: 'id', as: 'list', }) .addFields({ size: $.size('$list') }) .match({ size: 0 }) .end()
exports.main = async (event, context) => { return await db.collection('user').aggregate() .lookup({ from: 'pingjia', localField: 'username', foreignField: 'username', as: 'list', }) .addFields({ size: $.size('$list') }) .match({ shitang : '1号食堂', size: 0 }) .limit(1000) .end() user 用户表,带有shitang 字段,带有username字段 pingjia 评价表,带有shitang 字段,username字段,月份字段riqi, 用户每个月都可以对食堂提出一次评价,用以上的方面只能得到该食堂在所有月份中得到未进行评价的用户,如何对pingjia 评价表进行条件限制,比如查询8月份谁未评价。