1.3 MongoDB入门到实践系列—MongoDB的基础操作

MongoDB基本使用

对于任何的数据库,都离不开最核心的功能:CRUD(增删改查);所以在MongoDB里面对于数据的操作方面CRUD都是有支持的,但除增加外,其它的都很麻烦。最为麻烦的是修改。

在MongoDB数据库里面存在有数据库的概念,但是没有模式(所有的信息都是按照文档保存的),文档的数据结构是JSON结构(MongoDB内部称为BSON),只不过在进行一些数据处理的时候才会使用到MongoDB自己的一些操作符。

1、使用sun_bright数据库
usr sun_bright

​ 此时不会创建数据库,只有在数据库里面保存集合数据之后才能够真正创建数据库

2、创建一个集合

创建一个emp集合

db.createCollection("emp") ;
{ "ok" : 1 }
> show databases;
local  0.078GB
imooc  0.078GB

​ 此时sun_bright数据库才会真正的创建、存在

3、MongoDB集合的操作

安照以上代码新式会觉得不正常,因为一般使用MongoDB数据库集合操作时都是直接向里面保存一个数据。

db.emp.find();	--查询emp集合中的数据
db.dept.insert({"deptno":10,"dname":"财务部","loc":"北京"}); -- 执行此语句

> db.emp.find();
> db.dept.insert({"deptno":10,"dname":"财务部","loc":"北京"});
WriteResult({ "nInserted" : 1 })
4、查看所有集合
show collections;

​ 此时发现以上中dept集合已经自动创建

5、查看dept表的数据
-- 语法:db.集合名词.find({若干条件})
> db.dept.find();
{ "_id" : ObjectId("5be1468434039413dad7c107"), "deptno" : 10, "dname" : "财务部", "loc" : "北京" }
>

​ 从传统的数据表来看,表的结构一旦定义就必须按照其定义的要求进行内容的编写,但是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) ;
WriteResult({ "nInserted" : 1 })
> db.dept.find();
> var deptData = {
	"deptno" : 20,
    "dname" : "软件开发部"
} ;
> db.dept.insert(deptData) ;
WriteResult({ "nInserted" : 1 })
> db.dept.find();

​ 此时dept集合的内容可以有用户随便去定义,完全不用考虑其他的结构,那么实际上就必须明确一点:在MongoDB数据库之中是绝对不可能存在有查看集合结构的操作。

7、关于ID的问题

​ 在MongoDB集合中的每一行记录都会自动的生成一个:“ “_id” : ObjectId(“5be1468434039413dad7c107”), ”的数据,这个数据组成是:时间戳 + 机器码 + 进程PID + 计数器,这个ID的信息是MongoDB数据库为用户自己生成的。

8、查看一个文档信息
db.dept.findOne() ;
9、删除数据
db.dept.remove( {"_id" : ObjectId("5be1468434039413dad7c107")} ) ;
10、更新数据
> var deptData = {
	"deptno" : 50,
    "dname" : "软件开发部",
    "loc" : "农业科技",
    "count" : 60,
    "avg" : 9000.0
} ;
> db.dept.update({"_id" : ObjectId("5be14b8634039413dad7c108")} , deptData) ;
-- 更新前面为条件,后面为内容
11、删除集合

​ 语法:db.集合名词.drop()

>db.dept.drop() ;
>show collections ;
12、删除数据库

​ 删除当前所在的数据库:db.dropDatabase() ;

因为删除数据库是执行以上命令会删除当前所在的数据库,所以必须要切换到所要删除的数据库之后才可以进行删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值