如何在一个值为undefined的字段中搜索记录:

db.records.aggregate({
    $match: {
        myField: "undefined",
    }
})

推荐答案

如果要过滤掉缺少某些字段的文档,请使用$exists运算符.

这在我的机器上起作用:

> db.test.drop()
true
> db.test.insert( {'Hello':'World!', 'myField':42})
> db.test.insert( {'Hello again':'World!'})
> db.test.aggregate({'$match':{ 'myField':{'$exists':false} }})
{
        "result" : [
                {
                        "_id" : ObjectId("51b9cd2a6c6a334430ec0c98"),
                        "Hello again" : "World!"
                }
        ],
        "ok" : 1
}

显示myField的文档不会显示在结果中.

Mongodb相关问答推荐

Go mongo-驱动程序测试,FindOne未根据给定的筛选器返回正确结果

如何使用聚合管道查找未销售但存在于产品详细信息集合中的产品的ID

MongoDB $lookup 查找字段值数组

MongoDB Aggregate 根据时间进行多重分组

Mongoose updateMany 以及 Where 和 orWhere?

Mongoose - $project 嵌套的对象数组到数组的根级别

程序可以运行,但我不断收到发送到客户端后无法设置标题,我应该忽略它吗?

MongoDB 查询以包含多个字段的最常见值的计数

以聚合顺序使用 $$ROOT

CouchDB 或 MongoDB 中的哪一个适合我的需求?

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

如何检索 MongoDb 集合验证器规则?

Node.js 和 Passport 对象没有方法 validPassword

MongoDB 批处理操作的最大大小是多少?

MongoDB 查找精确的数组匹配,但顺序无关紧要

MongoDb 数据库与集合

在 mongodb 中的索引列上查找重复项的快速方法

MongoDB的数据库管理工具

在 MongoDB 中插入或更新许多文档

没有参考选项的mongoose填充字段