mongodb-入门

一、介绍

(1)mongodb是一款NOSQL(Not Only SQL)数据库(非关系型)。
(2)mongodb中的集合对应关系型数据库中的表,文档对应关系型数据库中的行数据。
(3)mongodb的文档存储的是Json格式的数据。
在这里插入图片描述

二、安装注意

需要在c盘根目录下创建data文件夹

三、基本操作

(1)show dbs:查看所有数据库
(2)use xxx:进入数据库xxx
(3)show collections:查看当前数据库下的所有集合

四、增操作(在插入操作时,如果集合不存在则根据集合名自动创建集合)

(1)一次插入一个文档:db.集合名.insert(文档)

db.user.insert({name:"wsh",age:22})

在这里插入图片描述

_id:如果插入时不知道,则数据库自动生成的,基于时间和机器码生成,能保证不重复,调用ObjectId()方法可以生成。

(2)一次插入多个文档:db.集合名.insert([文档1,文档2])

db.user.insert([{name:"lxm",age:22}, {name:"tqs", age:22}])

在这里插入图片描述

五、查操作

(1)无条件查询:ds.集合名.find()

db.user.find()

在这里插入图片描述
(2)有条件查询:ds.集合名.find(条件)

db.user.find({name:"lxm"})

在这里插入图片描述
(3)查询符合条件的第一个文档:ds.集合名.findOne(条件)、ds.集合名.find(条件)[0]

db.user.findOne()

在这里插入图片描述

db.user.find()[0]

在这里插入图片描述

(4)查询符合条件的文档数量:db.集合名.find(条件).count()

db.user.find().count()

在这里插入图片描述

六、改操作

(1)更新文档(原文档被整个替换):ds.集合名.update(条件,Json格式数据)

db.user.update({name:"wsh"}, {age:2000})

在这里插入图片描述

该update操作会更新整个文档为传入的Json格式的串

(2)更新文档中的部分属性:ds.集合名.update(条件,{$set:{属性1,属性2}})

db.user.update({age:2000}, {$set:{name:"wsh", age:22}})

在这里插入图片描述
(3)删除文档中的部分属性:ds.集合名.update(条件,{$set:{属性1,属性2}})

db.user.update({name:"wsh"}, {$unset:{name:1, age:1}})

在这里插入图片描述
(4)update默认修改符合条件的第一个文档。

db.user.update({age:22}, {$set:{name:"xxx"}})

在这里插入图片描述

(5)修改符合条件的所有文档:db.集合名.updateMany(条件,{$set:{属性1,属性2}})、db.集合名.update(条件,{$set:{属性1,属性2}},{multi:true})

db.user.updateMany({age:22}, {$set:{name:"abc"}})

在这里插入图片描述

db.user.update({age:22}, {$set:{name:"cba"}},{multi:true})

在这里插入图片描述
(6)修改符合条件的第一个文档:ds.集合名.updateOne(条件,{$set:{属性1,属性2}})

db.user.updateOne({age:22}, {$set:{name:"abc"}})

在这里插入图片描述

七、删操作

(1)删除符合条件的所有文档:db.集合名.remove(条件)、db.集合名.deleteMany(条件)

db.user.remove({age:22})

在这里插入图片描述

db.user.deleteMany({age:22})

在这里插入图片描述

(2)删除符合条件的第一个文档:db.集合名.deleteOne(条件)、db.集合名.remove(条件,true)

db.user.deleteOne({age:22})

在这里插入图片描述

db.user.remove({age:22}, true)

在这里插入图片描述

八、删集合

db.user.drop()

在这里插入图片描述

九、删数据库

db.dropDatabase()

在这里插入图片描述

十、嵌套条件查询

(1)文档的属性为文档
在这里插入图片描述
(2)db.user.find({“address.live”:“a”})
在这里插入图片描述

十一、往数组属性加入新元素

(1)db.user.update({name:"wsh"}, {$push:{"address.live":"c"}})
在这里插入图片描述
(2)如果元素在数组存在,则不添加:db.user.update({name:"wsh"}, {$addToSet:{"address.live":"c"}})
在这里插入图片描述

十二、大于、小于等条件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

十三、查询前几条文档

在这里插入图片描述
在这里插入图片描述

十四、与、或条件

条件放在数组里

在这里插入图片描述
在这里插入图片描述

十五、排序

(1)查出来的文档,默认按照_id升序的规则排序
(2)升序:db.集合名.find(条件).sort({属性名:1})
在这里插入图片描述

(2)降序:db.集合名.find(条件).sort({属性名:-1})
在这里插入图片描述
(3)先按照年龄降序排序,年龄相同则按照姓名降序排序
在这里插入图片描述

十六、设置输出的属性

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值