MongoDB学习

MongoDB数据库

属于关系型数据库NoSQL的一种,存储的数据为JSON数据

MongoDB数据库的基本数据结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DUEU0Jaa-1632017595104)(C:\Users\14940\AppData\Roaming\Typora\typora-user-images\image-20210209111151827.png)]

MongoDB基础使用

  1. 使用mldn数据库

    实际上不会创建数据库,只有在数据库里保存集合数据的时候才算是创建完成数据库

    use mldn
    
  2. 创建一个集合

    这个时候mldn数据库才会真正的存在。

    db.createCollection("emp");
    
  3. 写入一条数据

    插入时自动创建集合

    var deptDate = {
    	"deptnp" : 20,
    	"dname" : "研发部",
    	"loc" : "深圳",
    	"avg" : 8000
    }
    db.dept.insert(daptDate)    //添加不规则数据,且没有查看集合结构的语法
    
    db.dept.insert({"deptno":10,"dname":"财务部","loc":"北京"})
    
  4. 查看集合
    show collections
    
  5. 查看emp表数据

    语法:db.集合名称.find({ 若干条件})

    MongoDB可以随意扩充数据,不会有限制

    db.dept.find()
    
  6. 关于id的问题

    关于MongDB集合中的每一行记录都会自动生成"_id":"60220135a96723c22ca227d2"数据,这个数据组成是:"时间戳 + 机器码 + PID + 计数器 " ,这个ID的信息是MongonDB数据库自己为用户生成的,每行数据唯一。

  7. 查看一个信息
    db.dept.findOne()
    
  8. 删除数据
    db.dept.remove({"_id" : ObjectId("6021ff40a96723c22ca227d1")})
    
  9. 更新数据
    var deptDate = {
    	"deptnp" : 3203,
    	"dname" : "研发部",
    	"loc" : "深圳",
    	"avg" : 81000
    }
    db.dept.update({"_id" : ObjectId("60220135a96723c22ca227d2")}, deptDate)
    
  10. 删除集合

    语法:db.集合名称.drop()

    db.dept.drop();
    
  11. 删除数据库
    db.dropDatabase
    
清除屏幕数据
cls

数据操作

数据增加
//增加一个简单数据
db.infos.insert({"url":"www.mldn.cn"})

//增加数组
db.infos.insert([{"url":"www.mldn.cn"},{"url":"www.ddd.cn"}])

//写入可以使用js语法
for(var x=0; x<10; x++){
	db.infos.insert({"url":"www."+x+".com"})
}
//如果数据很多时,不会全部列出,只会列出部分内容,输入it即可继续查看
数据查询

然后的数据库中,数据查询都是最麻烦的,而在MongoDB数据库中,对于查询的支持非常到位,包含有有关系运算,逻辑运算,数组运算,正则运算。

核心语法:db.集合名称.find({查询条件}[,{设置显示的字段}])

对应设置的显示字段严格来讲就称为数据的投影操作,如果不需要显示的字段设置0,需要显示的设置1 。

//基本查询
db.infos.find();

//查询url为"www.mldn.cn"的数据,查找相等的JSON数据
db.infos.find({ "url":"www.mldn.cn" });

//当不想显示_id
db.infos.find({ "url":"www.mldn.cn" },{"_id":0});
//db.infos.find({ "url":"www.mldn.cn" },{"_id":0,"url":1});

//大部分情况下,投影操作意义不大,也可以使用pretty()函数进行漂亮显示
db.infos.find({ "url":"www.mldn.cn" }).pretty();
//数据多的时候才可以显示出华丽的显示效果

//查询单个
db.infos.findOne({ "url":"www.mldn.cn" })
关系运算
定义一个学生信息集合
db.student.insert({"name":"张三","sex":"男","age":23,"score":89,"address":"海淀区"})
db.student.insert({"name":"李四","sex":"女","age":19,"score":59,"address":"超越区"})
db.student.insert({"name":"王五","sex":"女","age":14,"score":60,"address":"西城区"})
db.student.insert({"name":"赵六","sex":"男","age&
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值