MongoDB字段不存在exists

MongoDB字段不存在exists

MongoDB 中,我们使用 find 查询记录时,如果要查询文档中不包含某个字段的记录,我们可以使用 $exists

MongoDB exists详解

语法

db_name.collection_name.find({field:{$exists:true|false}})

参数

参数 描述
db_name 数据库名
collection_name 集合名
field 要查询的字段

说明

使用 exists 查询记录中包含或者不包含某个字段的记录。

案例

我们首先,使用 mongo 命令,连接上数据库,具体命令如下:

mongo

如下图所示:

100_mongodb exists.png

现在,我们使用 use 命令,切换到 haicoder 数据库,具体命令如下:

use haicoder

现在,我们使用 insertMany 插入三条记录,具体命令如下:

db.haicoder.insertMany([{"name":"haicoder", "url":"haicoder.net"}, {"name":"mhaicoder", "url":"m.haicoder.net"}, {"name":null, "url":"www.haicoder.net"}])

执行完毕后,此时,如下图所示:

101_mongodb exists.png

我们看到,此时提示我们成功插入了三条记录,现在,我们使用 find 进行查询,查询 name 字段存在的记录,具体命令如下:

db.haicoder.find({"name":{$exists:true}}, {_id:0})

执行完毕后,此时,如下图所示:

102_mongodb exists.png

我们看到,此时我们查询了 name 字段存在的所有的记录,现在我们再次查询 name 不存在的记录,具体命令如下:

db.haicoder.find({"name":{$exists:false}}, {_id:0})

执行完毕后,此时,如下图所示:

103_mongodb exists.png

我们看到,我们查询了 name 字段不存在的所有记录。

MongoDB字段不存在exists总结

在 MongoDB 中,我们使用 find 查询记录时,如果要查询文档中不包含某个字段的记录,我们可以使用 $exists