2015-12-02 144 views
1

我正在尝试返回未邀请其他人的活动。但是,我的所有查询都返回了数据,即 。我运行查询时应该返回任何内容。我错过了什么?

"__v" : 0, 
     "_id" : ObjectId("565cca79a9baa9b1522b57eb"), 
     "attendees" : [ 
     { 
     "_id" : ObjectId("565cca79a9baa9b1522b57ec"), 
     "attendee" : ObjectId("557dfb4fc8c9ecbb07c2f98c"), 
     "statustext" : "Accepted", 
     "status" : 1 
     }, 
     { 
     "attendee" : ObjectId("55dec11f38180102145d0060"), 
     "_id" : ObjectId("565f6bacdcbac0a6a354420c"), 
     "statustext" : "Pending", 
     "status" : 0 
     } 
     ] 

db.events.find({attendees:{$elemMatch:{attendee:{$ne:"55dec11f38180102145d0060"}}}}). 

db.events.find({attendees:{$elemMatch:{attendee:{$ne:'55dec11f38180102145d0060'}}}}) 

db.events.find({attendees:{$elemMatch:{attendee:{$ne:ObjectId('55dec11f38180102145d0060')}}}}) 

回答

2

引用文档:

的$ elemMatch操作者匹配包含的阵列字段 与所有指定的查询 条件匹配的至少一种元素的文档。

这意味着$elemMatch不适合这种情况。

db.events.find({"attendees.attendee":{$ne: ObjectId("55dec11f38180102145d0060")}}) 
相关问题