mongodb 文档数组查询的一个问题

浏览:28日期:2023-07-03

问题描述

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})

问题解答

回答1:

db.notice.find({'to_uid':{$elemMatch:{'user_id':100002,'is_del':0}}'create_time':8})

回答2:

遇到同样的问题, 一直觉得是, 而不是&&,不知楼主解决了没?

相关文章: