MongoDB学习—(6)MongoDB的find查询比较符

前端之家收集整理的这篇文章主要介绍了MongoDB学习—(6)MongoDB的find查询比较符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

《MongoDB学习—(6)MongoDB的find查询比较符》要点:
本文介绍了MongoDB学习—(6)MongoDB的find查询比较符,希望对您有用。如果有疑问,可以联系我们。

编程之家PHP培训学院每天发布《MongoDB学习—(6)MongoDB的find查询比较符》等实战技能,PHPMysqL、LINUX、APP、JS,CSS全面培养人才。

首先,先通过以下函数向BookList集合中插入10000条数据

  1. function insertN(obj,n){
  2. var i=0;
  3. while(i<n){
  4. obj.insert({id:i,name:"bookNumber"+i,publishTime:i+2000})
  5. i++;
  6. }
  7. }
  8. var BookList=db.getCollection("BookList")

调用函数,这样,BookList中就有10000条数据了

通过命令db.[documentName].find({条件},{键指定})来查询具有特定特征的数据,键指定可用于指定什么键显示想、什么键不显示.例如:{id:0,name:1,publishTime:1}表示id键内容不显示,name与publishTime内容显示.

一,比较操作符查询

$lt (less than)

<

$lte (less than equal)

<=

$gt (greater than)

>

$gte (greater than equal)

>=

$ne (not equal)

!=

我们可以运用比较操作符来查询出出版日期publishTime在2010年至2016年的书,并且不显示id,那么我们可以用一下语句进行查询

  1. db.BookList.find({publishTime:{$gte:2010,$lte:2016}},{_id:0,publishTime:1})

效果如下:

MongoDB学习—(6)MongoDB的find查询比较符

其他比较符可用类似方法组合使用.

二,$in与$nin包含与不包含

$in与$nin的用法是根据特定的键值.

命令格式db.[documentName].find({filed:{$in:[value1,value2,...]}}),运用该命令就可以查询出键filed中包含value1或value2,...等的数据,是一个或关系,只要包含有一个相同的value就符合查找条件.命令格式db.[documentName].find({filed:{$nin:[value1,运用该命令就可以查询出键filed中不包含value1或value2,...等的数据.

三,$or或查询

命令格式db.[documentName].find({$or:[{条件},{条件},...]}),注意中括号与花括号的区别,例如我们要查询id小于30,出版日期publishTime介于2000-2010年的数据,我们就可以用命令:

  1. db.BookList.find({$or:[{id:{$lt:30}},{publishTime:{$gte:200,$lte:2010}}]},publishTime:1})

MongoDB学习—(6)MongoDB的find查询比较符

四,Null关键字

Null关键字可用于查询集合中哪些数据不包含某些键,命令格式db.[documentName].find({filed:null})

MongoDB学习—(6)MongoDB的find查询比较符

五,正则表达式查询

命令格式db.[documentName].find({filed:正则表达式}),由于我对于JS的正则表达式不是太了解,我就不尝试了( ̄o ̄) .

六,$not取反

该指令可将任何查询条件取反,类似于查询publishTime大于2016年的,通过$not取反可取到publishTime小于等于2016年的,一下为指令变换:

db.BookList.find({publishTime:{$gt:2016}}) 取反 db.BookList.find({publishTime:{$not:{$gt:2016}}})

MongoDB学习—(6)MongoDB的find查询比较符

猜你在找的MongoDB相关文章