1. 经过一番的安装,配置环境变量后,终于开始了MongoDB的学习使用之路了。
# 启动MongoDB
连接MongoDB服务(CMD窗口输入以下命令)
mongod -f D:\MongoDB\data\mongodb.conf
新开启一个CMD窗口,连接MongoDB数据库(看个人配置)
$ 无端口号连接
mongo
$有端口号连接
mongo --port=27000
2、MongoDB的基础操作(重点)
在MongoDB数据库里面是存在有数据库的概念,但是没有模式(所有的信息都是按照文档保存的),保存数据的结构就是JSON结构,只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作符。
1、 使用mldn数据库:
实际上这个时候并不会创建数据库,只有在数据库里面保存集合数据之后才能够真正创建数据库。
2、 创建一个集合——创建一个emp集合
db.createCollection("emp");
这个时候mldn数据库才会真正的存在。
3、 但是很多的时候如果按照以上的代码形式进行会觉得你不正常,因为正常人使用MongonDB数据库集合操作的时候都是直接向里面保存一个数据。
db.dept.insert({"deptno":11,"dname":"财务部","loc":"北京"});
4、 查看所有集合:
show collections;
发现dept集合自动创建了。
5、 查看emp表的数据
·语法:db.集合名称.find({若干条件})
db.dept.find();
从传统的数据表来看(集合就相当于表的结构),表的结构一旦定义就必须按照其定义的要求进行内容的编写,但是MongoDB不一样,它可以自己随意扩充数据。
6、 增加不规则的数据
> var deptData = {
... "deptno" :20,
... "dname" :"研发部",
... "loc" : "深圳",
... "count" :20,
... "avg" :8000.0
... };
> db.dept.insert(deptData);
> var deptData = {
... "deptno" :20,
... "dname" :"研发部",
... "loc" : "深圳",
... "count" :20,
... "avg" :8000.0
... };
> db.dept.insert(deptData);
此时dept集合的内容可以由用户随便去定义,完全不用考虑其它的结构,那么实际上就必须明确一点了,在MongoDB数据库之中是绝对不可能存在有查看集合结构的操作。
7、 关于ID的问题
在MongoDB集合中的每一行记录都会自动的生成一个“"_id" :ObjectId("55949a13eecd74894d19d8dc")”数据,这个数据组成是:“时间戳 + 机器码 + PID + 计数器”,这个ID的信息是MongonDB数据自己为用户生成的。
8、 查看单独的一个文档信息
db.dept.findOne();
9、 删除数据
db.dept.remove({"_id" :ObjectId("592c22f0d6a9f5f35b89383f")});
10、更新数据
> var deptData = { "deptno" :50, "dname" :"乞讨部", "loc" : "家里蹲", "count" :6
0, "avg" : 9000.0 };
> db.dept.update({"_id" : ObjectId("592c2ded341d549fe5323c1e")},deptData);
11、删除集合
·语法:db.集合名称.drop()
db.dept.drop();
12、删除数据库(删除当前所在的数据库)
db.dropDatabase();
删除数据库的是删除当前所在的数据库,必须先切换到数据库后才可以删除。