有数据结构如下:
{
name: "123",
taskList: [{
taskName: "任务1",
memberList: ["openid1", "openid2"]
},
{
taskName: "任务2",
memberList: ["openid3", "openid4"]
}
]
}
我想查找哪些任务中有指定的opendi,并且在该任务数据中新增输出字段(用聚合的addFields)反馈给用户。
我是这样写的;
db.collection("CaseList")
.aggregate()
.addFields({
"taskList.isme": $.in(["$openid2","$taskList.memberList"]),
.end()
输出始终是 taskList.isme = false
于是我试着输出$taskList.memberList的值,看是否数组取值错误
db.collection("CaseList")
.aggregate()
.addFields({
"taskList.isme": $.in(["$openid2","$taskList.memberList"]),
"Test":"$taskList.memberList"]
.end()
输出确实是数组,那为什么我这个写法就是匹配不上呢?是我写法有问题么?