在 MongoDB 中,我们使用 find 查询记录时,如果要查询文档中不包含某个字段的记录,我们可以使用 $exists
。
db_name.collection_name.find({field:{$exists:true|false}})
参数 | 描述 |
---|---|
db_name | 数据库名 |
collection_name | 集合名 |
field | 要查询的字段 |
使用 exists 查询记录中包含或者不包含某个字段的记录。
我们首先,使用 mongo 命令,连接上数据库,具体命令如下:
mongo
如下图所示:
现在,我们使用 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"}])
执行完毕后,此时,如下图所示:
我们看到,此时提示我们成功插入了三条记录,现在,我们使用 find 进行查询,查询 name 字段存在的记录,具体命令如下:
db.haicoder.find({"name":{$exists:true}}, {_id:0})
执行完毕后,此时,如下图所示:
我们看到,此时我们查询了 name 字段存在的所有的记录,现在我们再次查询 name 不存在的记录,具体命令如下:
db.haicoder.find({"name":{$exists:false}}, {_id:0})
执行完毕后,此时,如下图所示:
我们看到,我们查询了 name 字段不存在的所有记录。
在 MongoDB 中,我们使用 find 查询记录时,如果要查询文档中不包含某个字段的记录,我们可以使用 $exists
。