我试图找到所有存在邮箱的文件.

我正在try 以下查找查询:

{ "email": {$exists:true, $ne:null, $ne:""}}

尽管如此,我还是收到了null封邮箱的文件.

谁能告诉我我做错了什么吗?

推荐答案

你想要$nin块:

.find({ "email": { "$nin": [ null, "" ] } })

问题是$ne重复两次并被覆盖.您可以使用$or,但$nin更短:

鉴于:

{
    "_id" : ObjectId("59633c28f5f11516540d118e"),
    "a" : 1.0
}
{
    "_id" : ObjectId("59633c28f5f11516540d118f"),
    "a" : 1.0,
    "email" : ""
}
{
    "_id" : ObjectId("59633c28f5f11516540d1190"),
    "a" : 1.0,
    "email" : null
}
{
    "_id" : ObjectId("59633c28f5f11516540d1191"),
    "a" : 1.0,
    "email" : "fred"
}

刚回来:

{
    "_id" : ObjectId("59633c28f5f11516540d1191"),
    "a" : 1.0,
    "email" : "fred"
}

此外,在实际测试值时,也不需要$exists.这已经暗示了is确实"存在".

Mongodb相关问答推荐

geoLocation或geoNear为坐标和半径使用let变量

在一个视图中连接两个集合MongoDB;展开有什么作用?

Golang mongodb聚合错误:管道阶段规范对象必须包含一个字段

如何在 MongoDB 中对字段进行自定义排序

从 MongoDB 中的聚合结果中获取不同的值

来自嵌套对象数组的 MongoDB 聚合

MongoDb $filter,然后获取非重复计数

MongoDB - 家庭作业(job)帮助.不确定如何在 mongodb 中访问文档中的变量

如何在 Spring-Data-MongoDB 中使用 $facet、$addFields 和 $function

Mongodb按值分组并计算出现次数

使用名为 Object 键的 uuid 创建 mongodb 文档

mongoDB vs mySQL - 为什么在某些方面比另一个更好

如何在 Mongoose 中定义一个通用的嵌套对象

如何使用python将csv数据推送到mongodb

无法提取地理键,经度/纬度超出范围

将 MongoDB 地理空间索引与 3d 数据结合使用

MongoDb:如何将附加对象插入对象集合?

如何使用 mgo 和 Go 查询 MongoDB 的日期范围?

MongoDb - 利用多 CPU 服务器进行写入繁重的应用程序

开发人员必须采取哪些mental steps才能开始从 SQL 迁移到 NOSQL(CouchDB、Fathom DB、MongoDB 等)?