- lookup中如何联表查询变量名字段?
在Group表中有Code字段,假设值为"110101",结构如下图 [图片] 现在需要到AreaList表中,查找字段county_list的下级字段名为'110101"的值. AreaList表结构如下图 [图片] db.collection('Group').aggregate() .lookup({ from: "AreaList", let: { aCode: '$Code', }, pipeline: $.pipeline() // .match(_.expr($.in(['$$aCode', '$county_list']))) .project({ Code:'$$aCode', Name: '$county_list.110101', City: '$county_list.'+'$$aCode', }) .done(), as: "County" }) .end() 现在就是在project中 返回的Code和Name都有正确的值,但是City就无法读取到.返回结果如下 { Code:"110101", Name:"东城区", }
2021-11-03 - 如何根据字段名查找数据?
现在有一个数据库结构是这样子的 List:{ Member:{ a:{type:1,class:2}, b:{type:1,class:3}, }} 在List表中,有一个Member结构 现在想要的结果是 传入参数a查询出来{type:1,class:2} 匹配字段名这一块完全没有头绪
2021-11-02 - 如何添加数组中字段出现的次数字段?
数据库结构如下 _id:xxxxx member:[ {group:1,id:1}, {group:1,id:2}, {group:1,id:3}, {group:2,id:4}, {group:2,id:4}, {group:3,id:5}, ] 想要实现如下的查询结果 _id:xxxxx member:[ {group:1,id:1,count:3}, {group:1,id:2,count:3}, {group:1,id:3,count:3}, {group:2,id:4,count:2}, {group:2,id:4,count:2}, {group:3,id:5,count:1}, ] 多出来的字段count是相同group值的总数.
2021-10-05 - 请教lookup pipeline如何查询二级数组?
表一: "_id":"2a0398605f1114*****d69a167ebf9ed" "alist":[[100,101],[200,201],[300,301]] 表二: "_id":"xxxxxxxxx" "name":"A" "aAid":100 ------------ "_id":"xxxxxxxxx" "name":"B" "aAid":101 -------------- "_id":"xxxxxxxxx" "name":"C" "aAid":200 依次 现在想查找出这样的结果 alist:[ { {aAid:100,name:"A"}, {aAid:101,name:"B"}, }{ {aAid:200,name:"C"}, {aAid:201,name:"C"}, } ... ] alist如果是一级数组,我知道直接用.match(_.expr($.in(['$aAid', '$$alist'])))这种方式就可以了,但是二级数组我就抓瞎了.
2021-09-20