mongodb $ elemMatch使用$ ne未按预期工作

时间:2015-12-02 22:33:34

标签: mongodb

我正在尝试返回某人未被邀请的活动。然而, 我的所有查询都返回数据。运行查询时不应返回任何内容。我错过了什么?

 "__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')}}}})

1 个答案:

答案 0 :(得分:2)

引用文档:

  

$ elemMatch运算符匹配包含数组字段的文档   至少有一个元素匹配所有指定的查询   标准。

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

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