MongoDB与查询

MongoDB与查询

MongoDB 中,我们在使用 find 查询记录时,如果需要使用与查询,我们可以在 find 的查询条件里面使用 $and 运算符,同时,也可以简写,省略 $and 运算符。

MongoDB与查询详解

语法

db_name.collection_name.find({$and:[{filed1:value1}, {field2:value2}]});

参数

参数 描述
db_name 数据库名
collection_name 集合名
filed1 要查询的字段
value1 filed1 的值等于 value1
filed2 要查询的字段
value2 filed2 的值等于 value2

说明

查询 filed1 的值等于 value1 并且 field2 的值等于 value2 的记录。

MongoDB与查询详解

语法

db_name.collection_name.find({filed1:value1, field2:value2});

说明

使用简写的形式,同样可以查询 filed1 的值等于 value1 并且 field2 的值等于 value2 的记录。

案例

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

mongo

如下图所示:

45_mongodb与查询.png

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

use haicoder

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

db.haicoder.insertMany([{"url":"haicoder.net", "age":101}, {"url":"www.haicoder.net", "age":100}, {"url":"m.haicoder.net", "age":80}])

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

46_mongodb与查询.png

我们看到,此时提示我们成功插入了三条记录,现在,我们使用 find 进行查询,查询 age 等于 100 并且 url 为 www.haicoder.net 的记录,具体命令如下:

db.haicoder.find({"age":100, "url":"www.haicoder.net"}, {_id:0})

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

47_mongodb与查询.png

我们看到,此时查到了 age 属性与 url 属性同时匹配的记录,同时,我们还可以使用 and 实现与查询,具体命令如下:

db.haicoder.find({$and:[{"age":100}, {"url":"www.haicoder.net"}]}, {_id:0})

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

48_mongodb与查询.png

我们看到,此时同样查到了 age 属性与 url 属性同时匹配的记录,我们还可以查询大于或者小于的记录,具体命令如下:

db.haicoder.find({"age":{"$gte":100}, "url":{"$regex":"haicoder.net"}}, {_id:0})

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

49_mongodb与查询.png

此时,我们查询了 age 属性大于等于 100 并且 url 匹配 haicoder.net 的记录。

MongoDB与查询总结

在 MongoDB 中,我们在使用 find 查询记录时,如果需要使用与查询,我们可以在 find 的查询条件里面使用 $and 运算符,同时,也可以简写,省略 $and 运算符。