1對多群發訊息,文檔結構如下:
{
"from_uid" : 10000,
"to_uid" :
[
{ "user_id" : 100002, "is_read" : 1, "is_del" : 1 },
{ "user_id" : 100003, "is_read" : 0, "is_del" : 0 },
{ "user_id" : 100004, "is_read" : 1, "is_del" : 0 }
]
}
其中to_uid.user_id=100002,設定為is_del=1。執行以下指令的時候,這個文件還會顯示。 貌似查詢條件裡的"to_uid.user_id" "to_uid.is_del" 是或的關係?
db.notice.find({"to_uid.user_id":100002, "to_uid.is_del":0 , "create_time":8})
db.notice.find({"to_uid":{$elemMatch:{"user_id":100002,"is_del":0}}"create_time":8})
遇到同樣的問題, 一直覺得是或, 而不是&&,
不知樓主解決了沒?