前几篇,老玩家绕道便可,新手晚上闲着也是蛋疼,不如把命令敲一边,这样你就会对MongoDB有必定的掌握啦。若是没有安装MongoDB去看个人上一篇博客 MongoDB下载安装与简单增删改查 javascript
前奏:启动mongdb数据库服务,并进入shell界面html
> cmdjava
> cd C:\Program Files\MongoDB\bin --进入mongdb安装文件的bin目录下。程序员
> net start mongoDB; --开启mongoDB数据库服务sql
> mongo --进入shell界面mongodb
> show dbs -- 查看数据库列表shell
> use admin --建立admin数据库,若是存在admin数据库则使用admin数据库数据库
> db ---显示当前使用的数据库名称json
> db.getName() ---显示当前使用的数据库名称数组
> db.dropDatabase() --删当前使用的数据库
> db.repairDatabase() --修复当前数据库
> db.version() --当前数据库版本
> db.getMongo() --查看当前数据库的连接机器地址
> db.stats() 显示当前数据库状态,包含数据库名称,集合个数,当前数据库大小 ...
> db.getCollectionNames() --查看数据库中有那些个集合(表)
> show collections --查看数据库中有那些个集合(表)
> db.person.drop() --删除当前集合(表)person
Note:
一、p={name:"张龙豪",age:18} 这个不是规范的json格式,使用这种相似javascript语法,对象会自动补全为规范的json格式{"name":"张龙豪","age":18}.
二、我在这里插入2条数据,一条是insert语法,一条是save语法,这里的insert与save是同样的功能。
Note:这里我主要用啦一个for语法,循环插入啦4条数据,是否是有点小激动。哈哈,mongodb就是这么任性。
Note:这里是吧查询出来的
一、while:做为程序员应该都不陌生他是个循环。
二、hasNext: cursor集合遍历,是否还有数据。
三、printjson:输出集合中的文档
四、next:当前文档,并向下遍历。
Note:forEach循环输入,必须定义一个函数供每一个游标元素调用。
Note:游标也能够看成数组来用。
Note:游标转换为真实的数组类型,使用。
Note:findOne,返回结果集中的第一条数据。limit(3),返回结果集中的前三条数据。
面向文档的NoSql数据库重要解决的问题不是高性能的并发读写问题,而是保证海量数据存储的同时,具备比通常数据库更加良好的查询性能。
Note:条件操做符号: > 、 < 、 >= 、<=
一、 $gt //大于 > ,$lt //小于 < ,$gte //大于等于 >= ,$lte //小于等于
二、{"filed":{$op,value}} //filed字段 ,$op条件操做符号,value值。
三、{"age":{$gt:1}} : person集合中年龄大于1的全部数据文档
Note:$all匹配全部,相似t-sql中的in,可是t-sql中的in是知足括号里面的任何一个都能出数据,而mongodb中的$all则必须知足[]中的全部值。
一、{age:{$all:[7,9]}}:age数组中只要有7和9就知足条件。若是只有7,没有9则不符合条件。
Note:$exists判断字段是否存在,(true/false)
一、{city:{$exists:true}}: 集合中存在city这个字段的数据
Note:$mod取模运算。
一、{age:{$mod:[7,6]}}:集合中模7余6的数据
Note:$ne不等于
Note:$in包含,$nin不包含。跟t-sql中的in,not in同样。
一、{age:{$in:[10,11]}}:若是age是数组的话,只要数组包含in中条件的任何一条数据,都能被检索出来。不是数组,则只要知足in中的任何一个条件数据,也能够被检索出来。
Note:数组元素个数。
一、{age:{$size:4}}:age数组元素个数为4的数据结果集。
Note:$not正则匹配,不包含以张开头的数据。
Note:skip,limit,sort,count
一、skip(2):从数据集的第二条开始查询
二、limit(2) : 依次查出2条数据。
三、sort({age:1}) : 1.正序查询,-1倒叙查询。
四、count():结果集总数。