mongodb的具体操作:
1. 下载软件:https://www.mongodb.com/try/download/community
3.2.10版本
2. 把bin目录添加到环境变量中,这样可以全局访问。
3. 启动数据库 : 默认端口号:27017 ,修改加 --port
mongod --dbpath=d:/mdb3
4. 操作数据库:
1. 命令行如何操作mongodb
1. mongo 进行 操作环境
2. 用可视化工具
Robo 3T 1.3.1
mongodb命令行语法:
show dbs : 查看所有数据库,但是如果这个数据库是空的,是不显示的。
local -> 初始是有值的数据库
test -> 空的数据库
use [dbname] -> 切换数据库
use [dbname] -> 如果dbname不存在,那么就创建一个数据库,并且切换到这个数据上
db.createCollection([collname]) -> 创建一个集合
db.dropDatabase() : 删除当前数据库
可以具体查看mongod相关方法有哪些:
db.help() : 看数据库的方法
db.test.help() : 看test数据库的方法
db.test.find().help() : 看find()方法下的方法
Collection聚集集合操作:
db.createCollection('musiclist') 创建一个集合
db.getCollection('musiclist') 查看musiclist集合
db.getCollectionNames() : 查看当前数据下的所有集合
show collections : 可以查看现在有多少个集合
db.printCollectionStats() : 查看集合的状态
db.musiclist.drop() : 删除集合
数据库的增删改查:crud操作。
增:
db.集合名.insert({}); //单条添加
db.集合名.insert([{},{},{}]); //多条添加
db.集合名.insertMany([{},{},{}]); //多条添加
db.集合名.save({}); //单条添加
db.集合名.save([{},{},{}]); //多条添加
删:
db.集合名.deleteOne({})
db.musiclist.deleteOne({users:"张杰2"}) 删除一条数据
db.musiclist.deleteMany({users:"张杰2"}) 删除所有数据
db .集合名.remove({users:"张杰2"}) 删除所有数据
db .集合名.remove({users:"张杰2"},true) 删除一条数据
db .集合名.remove({}) : 删除所有
db.集合名.drop()
删除当前集合
改:
第一个参数:条件 , 第二个参数是修改的字段
db.集合名.update({},{$set:{users:"张杰"}}) 修改第一条数据
db.集合名.update({},{$set:{users:"张杰"}}) 如何写了条件,就会根据条件中的第一个进行修改
db.集合名.update({},{$set:{users:"张杰2"}},{multi:true}) : 修改多条数据
如果$set设置的字段不存在的话,就会创建后赋值,新添加字段的操作。
$set -> 修改字段值,$inc -> 累加累减字段值(必须是数字类型)
$inc -> 点赞、投票、播放量、粉丝数 ...
db.集合名.updateOne()
查:
db.集合名.find() : 查看当前集合的所有数据
db.集合名.find().count() : 数据的个数
db.集合名.find({}) : 条件
类似sql : select * from musicList where id = 1
db.集合名.find({"_id":/users/}) : 进行模糊匹配
类似sql : like
需求:搜索的需求
db.集合名.find({},{name:1,age:1}) : 查询指定字段的数据
类似于sql中的 select name,age from musiclist
name : 1 -> 要name字段
name : 0 -> 排除掉name字段
db.集合名.find().sort({age : 1}) : 排序
1 升序 -1 降序
db.集合名.find().skip(10) : 跳过10条
一般limit和skip一起使用,可以做分页的处理
db.集合名.findOne() : 找一条数据(默认就是第一条)