db.command.aggregate.in(value,array)难道只能在本集合列表里面匹配吗?跟db.command.in()作用很不一样,我要在pipeline里面通过让参数在传入的数组内,应该怎么写?
云开发db.command.aggregate.in怎么实现db.command.in用法不一样的?初次接触小程序编程,真的是太痛苦了,原本几天可以完成的工作,用小程序一个月都搞不定,无力吐嘈。大家帮忙看看以下程序,就是我有一个存放“周次”的表weeks,想与存放周记文件的zjfiles联合查询,两个表通过共有的列weekid和taskid进行联合,同时zjfiles当中的userid要在event.userlist数列当中,使用了$.in(['$$userid',event.userlist])完全无效。 请大家指点一下,拜托了! return await db.collection('weeks').aggregate() .sort({weekID:-1}) .lookup({ from: 'zjfiles', let:{wkid:'$weekID',taskid:'$taskid',userid:'$userid'}, pipeline:$.pipeline().match(db.command.expr($.and([$.eq(['$weekid','$$wkid']),$.in(['$$userid',event.userlist]),$.eq(['$taskid','$$taskid'])]))) .done(), as:'zjfiles' }) .match({ bdate: db.command.lt(mydatesp), }) .match({taskid:db.command.eq(parseInt(event.taskid))}) .end();
04-14