我有这个架构
{
cc: [
{ user_id: "1", hasSeen:true}
,{ user_id: "2", hasSeen:false}
,{ user_id: "3", hasSeen:false}
]
,conversation: [{
user_id: "1",
text: "message by 1, to 2and3"
}]
}
,{
cc: [
{ user_id: "1", hasSeen:true}
,{ user_id: "2", hasSeen:false}
,{ user_id: "3", hasSeen:false}
,{ user_id: "4", hasSeen:false}
]
,conversation: [{
user_id: "1",
text: "message by 1, to 2,3and4"
}]
}
这就是我设置“收件箱”数据库的方式。要查找有用户“1”的对话,我使用以下查询:
find({ cc:{$elemMatch:{ user_id:"1"}} })
它工作得很好,但它给了我两个结果。
现在我想找到只有用户 1,2 和 3 的元素。如果我使用这个查询
find({ cc:{$elemMatch:{ user_id:"1", user_id:"2", user_id:"3" }} })
它还给了我第二个元素,女巫还包括用户 4。(我不想得到它)。
我的意思是最后一个查询用作(sql)“或”运算符,我需要使用“和”运算符。
任何想法?