前言

前几篇,老玩家绕道即可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有一定的掌握啦。如果没有安装MongoDB去看我的上一篇博客  MongoDB下载安装与简单增删改查

前奏:启动mongdb数据库服务,并进入shell界面

> cmd

> cd C:\Program Files\MongoDB\bin  --进入mongdb安装文件的bin目录下。

> net start mongoDB;  --开启mongoDB数据库服务

> mongo   --进入shell界面

常用命令

> show dbs    -- 查看数据库列表

> use admin   --创建admin数据库,如果存在admin数据库则使用admin数据库

> db   ---显示当前使用的数据库名称

> db.getName()  ---显示当前使用的数据库名称

> db.dropDatabase()  --删当前使用的数据库

> db.repairDatabase()  --修复当前数据库

> db.version()   --当前数据库版本

> db.getMongo()  --查看当前数据库的链接机器地址

> db.stats() 显示当前数据库状态,包含数据库名称,集合个数,当前数据库大小 ...

> db.getCollectionNames()   --查看数据库中有那些个集合(表)

> show collections    --查看数据库中有那些个集合(表)

> db.person.drop()  --删除当前集合(表)person

MongoDB接入Javascrip风格语法,for,while,next,hasNext,forEach,toArray,findOne,limit

Note:

1、p={name:"张龙豪",age:18} 这个不是规范的json格式,使用这种类似javascript语法,对象会自动补全为规范的json格式{"name":"张龙豪","age":18}.

2、我在这里插入2条数据,一条是insert语法,一条是save语法,这里的insert与save是一样的功能。

Note:这里我主要用啦一个for语法,循环插入啦4条数据,是不是有点小激动。哈哈,mongodb就是这么任性。

Note:这里是吧查询出来的

1、while:作为程序员应该都不陌生他是个循环。

2、hasNext: cursor集合遍历,是否还有数据。

3、printjson:输出集合中的文档

4、next:当前文档,并向下遍历。

Note:forEach循环输入,必须定义一个函数供每个游标元素调用。

Note:游标也可以当作数组来用。

Note:游标转换为真实的数组类型,使用。

Note:findOne,返回结果集中的第一条数据。limit(3),返回结果集中的前三条数据。

MongoDB中的高级查询

面向文档的NoSql数据库重要解决的问题不是高性能的并发读写问题,而是保证海量数据存储的同时,具有比一般数据库更加良好的查询性能。

Note:条件操作符号: > 、 < 、 >= 、<=

1、 $gt //大于 > ,$lt //小于 < ,$gte //大于等于 >= ,$lte //小于等于

2、{"filed":{$op,value}}  //filed字段 ,$op条件操作符号,value值。

3、{"age":{$gt:1}} : person集合中年龄大于1的所有数据文档

Note:$all匹配所有,类似t-sql中的in,但是t-sql中的in是满足括号里面的任何一个都能出数据,而mongodb中的$all则必须满足[]中的所有值。

1、{age:{$all:[7,9]}}:age数组中只要有7和9就满足条件。如果只有7,没有9则不符合条件。

Note:$exists判断字段是否存在,(true/false)

1、{city:{$exists:true}}: 集合中存在city这个字段的数据

Note:$mod取模运算。

1、{age:{$mod:[7,6]}}:集合中模7余6的数据

Note:$ne不等于

Note:$in包含,$nin不包含。跟t-sql中的in,not in一样。

1、{age:{$in:[10,11]}}:如果age是数组的话,只要数组包含in中条件的任何一条数据,都能被检索出来。不是数组,则只要满足in中的任何一个条件数据,也可以被检索出来。

Note:数组元素个数。

1、{age:{$size:4}}:age数组元素个数为4的数据结果集。

Note:$not正则匹配,不包含以张开头的数据。

Note:skip,limit,sort,count

1、skip(2):从数据集的第二条开始查询

2、limit(2) : 依次查出2条数据。

3、sort({age:1}) : 1.正序查询,-1倒叙查询。

4、count():结果集总数。

转载于:https://www.cnblogs.com/knowledgesea/p/4634464.html

MongoDB高级查询详细相关推荐

  1. MongoDB高级查询介绍

    title: MongoDB高级查询介绍 date: 2017-12-3 22:14:19 tags: MongoDB MongoDB查询 categories: 数据库 在几乎所有的项目中对数据库的 ...

  2. mongoDB 高级查询(一)

    MongoDB,作为NoSql数据库,主要解决的问题不是高性能的并发读写,而是保证海量数据存储的同时,具有良好的查询性能.MongoDB支持的查询语言特别强大,几乎能实现关系型数据库单表查询的大多数功 ...

  3. mongoDB高级查询与索引

    整理来自 https://www.shiyanlou.com/courses/running/78 覆盖索引查询 所有的查询字段都是索引的一部分:所有的查询返回字段在同一个索引中. 由于索引存在于RA ...

  4. mongoDB 高级查询之取模查询$mod

    http://hancang2000.i.sohu.com/blog/view/235140698.htm $mod取模运算 查询age取模10等于0的数据 db.student.find( { ag ...

  5. mongoDB高级查询

    2019独角兽企业重金招聘Python工程师标准>>> 条件查询 1.相等 db.inventory.find({ type: "snacks" }) 2.比较 ...

  6. mongodb 高级查询 统计记录条数

    使用count()方法查询表中的记录条数,例如,下面的命令查询表users的记录数量: db.users.find().count();

  7. Mongodb高级查询Aggregation聚合组件分页

    用Mongo的聚合组件Aggregation要用到两个方法skip和limit.skip设置起点(分页的时候不包含起点,从起点的下一行开始),limit设置条数.如: Aggregation.skip ...

  8. python mongodb分页查询_python数据库分页查询语句

    用django将数据从数据库提出并分页展示 不要笑这个太简单噢~~大神们路过的请自动忽略本文-- '''django有自带的分页功能,我这个是自己做的分页,效果其实是一样的. ''' 要把数据提出并展 ...

  9. MongoDB 教程三: 高级查询 (SQL到MongoDB映射表)

    查询接口 对于查询操作,MongoDB 提供了 db.collection.find() 方法.这个方法接收查询条件和映射两个条件并且返回一个指向匹配文档的 游标 .你可以使用 limits, ski ...

最新文章

  1. iOS面试用到的知识点和技术点--第二章
  2. Windows破解逆向-CrackMe_1实例(使用IDA Pro修改静态区资源)
  3. orm对象关系映射演练 一行就是一个对象
  4. 基于Fabric的性能测试与调优实践
  5. 用SoapUI进行WebService接口测试
  6. sql如何遍历几百万的表_SQl SERVER 2000 遍历表中数据的方法
  7. C++ lock 加锁,解锁
  8. Android Studio实现简单的图书馆订座系统
  9. LINUX服务器安全加固方法整理
  10. 一、求100以内的素数
  11. 千月最新影视APICLOUD完整安卓程序源码+UI非常不错
  12. d7100 远程控制拍照(无线,有线,手机,电脑,路由器)
  13. Android studio打开机智云APP(自动生成)
  14. 4.3二叉树的非递归中序遍历输出王道数据结构例程实现
  15. B站视频音频合并(FFmpeg)
  16. supervisor详解-苏坡外泽
  17. 什么是私域裂变营销?
  18. 机器学习和NLP面试总结
  19. Android中RemoteViews的实现
  20. AM的常用T-CODE

热门文章

  1. fun-函数的数据类型小结
  2. PHP数据库调用类调用实例
  3. 22.Silverlight使用WebService调用C++,Delphi编写的DLL文件
  4. PHP substr_replace() 函数
  5. Cacti实现网络监控的使用心得(1)
  6. Swift on Linux —— 从源码开始安装
  7. 蓝桥杯 ALGO-65 算法训练 比赛安排
  8. java方法被编译器调用_我异常了,快来捕获我,Java异常简述
  9. asp td tr 高度_ASP.NET Core Blazor 初探之 Blazor Server
  10. python openpyxl创建excel文件-python之openpyxl生成excel文件