6.30MongoDB之"查"

6.30MongoDB之"查"

MongoDB查询文档内容的方法

  • MongoDB 查询文档使用 find() 方法。

  • find() 方法以非结构化的方式来显示所有文档。

  • findOne() 方法,它只返回一个文档。

语法:

db.collection.find(query, projection)
  • query :可选,使用查询操作符指定查询条件

  • projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。

易读的方式来读取数据,可以使用 pretty() 方法--->pretty() 方法以格式化的方式来显示所有文档。

db.collection.find().pretty()

MongoDB与RDBMS Where语句比较

操作格式范例RDBMS中的类似语句
等于 {<key>:<value>} db.col.find({"by":"菜鸟教程"}).pretty() where by = '菜鸟教程'
小于 {<key>:{$lt:<value>}} db.col.find({"likes":{$lt:50}}).pretty() where likes < 50
小于或等于 {<key>:{$lte:<value>}} db.col.find({"likes":{$lte:50}}).pretty() where likes <= 50
大于 {<key>:{$gt:<value>}} db.col.find({"likes":{$gt:50}}).pretty() where likes > 50
大于或等于 {<key>:{$gte:<value>}} db.col.find({"likes":{$gte:50}}).pretty() where likes >= 50
不等于 {<key>:{$ne:<value>}} db.col.find({"likes":{$ne:50}}).pretty() where likes != 50

MongoDB中AND条件

MongoDB 的 find() 方法可以传入多个键(key),每个键(key)以逗号隔开,即常规 SQL 的 AND 条件。

语法:

db.collection.find({key1:value1, key2:value2}).pretty()

实例:

db.teacher.find({by:'JunBoy',title:'Java'}).pretty()

MongoDB中OR条件

MongoDB OR 条件语句使用了关键字 $or

语法:

db.collection.find(
  {
    $or: [
        {key1: value1}, {key2:value2}
     ]
  }
).pretty()

这个$or就是一个变量,将值传递给变量然后再去查询

实例:--->注意{}的数量,find()方法内先要放一层{}变量后要用"[]"数组符号里面再放域

db.teacher.find(
   {$or:[
      {title:'Java'},
      {by:'LuciferOfLive'}
  ]
   }
).pretty()

MongoDB中AND和OR联合使用

MongoDB使用变量$gt表示''>'',使用变量$or表示OR。复合语句严格按照各语句的样式写即可

实例:--->类似常规 SQL 语句为:where like>300 AND (title = 'Java' OR title = 'java')

db.getCollection("teacher").find(
{
like:{$gt:300},
$or:[
{title:'Java',title:'java'}
]
}
)

这个方法只能返回同数据的第一条记录

实际查询得到的结果:

getCollection方法是内置方法,用于寻找指定的集合

It's a lonely road!!!
原文地址:https://www.cnblogs.com/JunkingBoy/p/14955946.html