二:如何安装mongoDB?
1: 安装
这里以绿色版的MongoDB为例,具体的下载文件大家可以到其官网上下载到: http://www.mongodb.org/
1.解压 提供的mongodb-win32-i386-2.4.3.zip 文件, 将解压的文件放在 E:\\mogodb\\software 目录下.
2.配置path 环境变量 ,然后在环境变量path值中加入 E:\\mogodb\\software\\mongodb-win32-i386-2.4.3\\bin
3.进入dos命令行,然后 敲入 mongo, 如何没有出现 \既不是
内部命令,也不是外部命令就配置OK了. 百度上一大堆 关于mongodb的安装
2: 使用
如果要使用它,则必须要mongoDB的服务给启动起来.
类似于大家学习mysql时一样,mongoDB的服务要启动,启动服务时, 需要告诉mongodb保存的数据存放的位置.
进入dos命令行,执行如下命令 (开启一个mongo的服务). mongod --dbpath=E:\\mongodb\\software\\data
mongod --dbpath d:\\mongo_data --auth //开启安全检查,需要用户输入密码
然后再开启一个dos窗口,执行 (通过一个客户端连上mongo服务) mongo
三: mongoDB的常用的具体操作(重点).
1.创建数据库, 同时也可以用来在不同的数据库之间切换.
use mydb1
注意,这种方式创建的数据库只是存在于内存中,并没有真正的创建出来.关闭窗口后再通过 db 命令查看不到刚刚创建的 mydb1.
2.查看当前正使用的数据库
db
3. 删除数据库, 首先要切换到你想要删除的目标数据库.然后再使用下面的命令删除即可.
db.dropDatabase();
4.查看所有的数据库发现此时已经没有刚刚删除的数据库了,下面的命令.
关系型数据库的层次概念与非关系型数据库中的层次概念不一样了 show dbs;
这里有一个很重要的概念需要跟大家强调下, 大家具体的可以参看下面的这个图:
在非关系型数据库中,我们称之为集合的东东,就类似于在关系型数据库中的表,而集合中的每一个元素,我们称之为文档对象,就类似于我们所说的关系型数据库中的表里的一条条记录.
5. 数据集合的操作
1.创建数据集合,这里的数据集合就是当年学习mysql时的数据表,只是这里又换了个叫法.
db.createCollection(“集合名称\显式创建
db.customer.insert({name:”erqiu”}) ----------->> 隐式创建
二者区别:隐式创建在创建的同时也向创建的集合中插入了数据 注意:如果要删除一个集合,则调用 db.集合名称.drop(); 就可以删除某个具体的集合。 例如,现在想删除 persons这个集合,可以 执行 db.persons.drop(); 2.数据集合中文档的CRUD (增删改查) a.增加: 向集合中插入数据.
语法: db.集合名称.insert(json数据);
db.user1.insert({name:\ 使用for循环批量插入. for(var i=1;i<=100000;i++){ db.user1.insert({name:\ };
b.删除: 删除集合中的数据
语法: db.user1.remove(删除条件);
db.user1.remove({name:\
db.user1.remove(); ---------- >> 删除user1集合中所有的文档.
删除 name为 erdan1的名字.
c.查找: 查询数据集合中的数据
语法: db.user1.find(删选条件,查询哪些字段); --->> 查询满足指定条件的数据 db.user1.findOne(); --->> 查询第一条文档 (记录)
db.user1.find(); --->> 查询所有的记录
例如: db.user1.find({name:\表示查询name=erdan2的文档
db.user1.find({name:\age:0}); ----->> 查询到的name=erdan2的文档,并将该文档中除了age之外的其他的值都显示
db.user1.find({name:\age:1}); ----->> 查询到的name=erdan2的文档,并将该文档中除了age之外的其他的值都不显示
在筛选条件中加入判断
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + //大于: field > value + + db.collection.find({field:{$gt:value}}); + + + + //小于: field < value + + db.collection.find({field:{$lt:value}}); + + + + //大于等于: field >= value + + db.collection.find({field:{$gte:value}}); + + + + //小于等于: field <= value + + db.collection.find({field:{$lte:value}});+ + + + //不等于: field != value + + db.collection.find({field:{$ne:value}}); +
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 例如:查询 age>25的文档,可以采用如下语句 db.user1.find({age:{$gt:25}});
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++ db.user1.count(); db.user1.find().count();
db.user1.find({age:{$lt:5}}).count();
db.user1.find().sort({age:1}); // 按照age的升序去排列
db.user1.find().skip(2).limit(3); --------->> 跳过前面的2个,并且显示3个
db.user1.find().sort({age:-1}).skip(2).limit(3);--------->> 按age降序排列,跳过前面的2个,并且显示3个
db.user1.find().sort({age:-1}).skip(2).limit(3).count();--------->> 按age降序排列跳过前面的2个,并且在显示3个的基础上,列出最后的结果有几个
db.user1.find().sort({age:-1}).skip(2).limit(3).count(0);-------->> 不按分页的结果去显示 db.user1.find().sort({age:-1}).skip(2).limit(3).count(1);-------->> 按照分页的结果后,再去列出总共有多少条记录
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
相关推荐: