检查mongoDb Collection中是否存在特定字段,不包括一条记录

时间:2017-05-02 07:04:11

标签: mongodb database

我有收集,如下所示

  { 
        "_id" : ObjectId("58fe3768f997ca09d551c34e"), 
        "firstName" : "arbar", 
        "lastName" : "ame", 
        "email" : "test41@gmail.com", 
        "phone" : "9966589965", 
        "password" : "$2a$10$pgRWb8Db385A5BbicEDJ2erHuUQsAIVmjqVuccXj7x.1iptdY/z7a", 
        "team_id" : ObjectId("58ef6d0a11c37915acaf7c9b"), 
        "activated" : false, 
        "accessLevel" : NumberInt(6)
    }
    { 
        "_id" : ObjectId("58fe37c2f997ca09d551c350"), 
        "firstName" : "Abrar Ahmed", 
        "lastName" : "asdf", 
        "email" : "test42@gmail.com", 
        "phone" : "9966158845", 
        "password" : "$2a$10$y3hPjuHeq0HVyukTnGCRT.k5xfSUH0z/mdGR8n7Gu09f7A7Z20bV6", 
        "team_id" : ObjectId("58ef6d0a11c37915acaf7c9b"), 
        "activated" : false, 
        "accessLevel" : NumberInt(6)
}
.
.
.
.
.
.

我正在尝试检查此集合中是否存在电子邮件test41@gmail.com,如果我使用this.collection.findOne({ email: 'test41@gmail.com' });将查找集合中的所有记录,但如何使用_id排除集合中的一条记录字段作为排除的参考。

此处电子邮件存在于该集合的一个记录中 "_id" : ObjectId("58fe3768f997ca09d551c34e"),,但我想要排除此记录并搜索集合中的其余记录。

1 个答案:

答案 0 :(得分:0)

请勿使用findOne,使用find查找所有事件。现在,如果您想要通过以下

排除某些文档
db.collection.find({$and: [{"email": "test41@gmail.com"}}, {"_id": {$ne: ObjectId("58fe3768f997ca09d551c34e")}}]})