一.一些常用的命令
collection就相对于mysql中的table(表)
use db 使用db数据库
db.collection.insert()
使用了不存在的对象,即创建该对象。
show dbs 查看当前服务器中写在磁盘上的数据库
show tables 查看数据库中的collection
db 查看当前使用的数据库
二.增删改查
增
db.collectiong.inser({数据}) 自动生成 _id : ObjectID("")
官方推荐
db.collection.insetOne({数据}) 插入一条数据
db.conllection.insetMany({数据},{数据}) 插入多条数据
查
db.collection.find({条件})
db.collection.finOne({条件})
改
db.collection.updata({条件},{$修改器:{数据}})
官方推荐
db.collection.updataOne({条件},{{$修改器:{数据}}) 更新(第一条)数据
db.collection.updataOne({条件},{{$修改器:{数据}} 更新所有数据
删
db.collection.remove({条件})
官方推荐
db.collection.deleteOne({条件}) 删除一条数据
db.collection.deleteMany({条件}) 删除所有符合条件的数据
清除collection
db.collection.drop()
三.$关键字
数学比较符
数学比较符:
$lt 小于
$lte 小于等于
$gt 大于
$gte 大于等于
$eq : 等于
$eq 等于
查询关键字:
$or db.collection.find({$or:[{name:1},{age:73}]}) #会把符合条件的都找出来
$in db.collection.find({age:{$in:[1,2,3,4]}}) #在同一个字段里面查询 ,符合其中一个条件即可
$all db.collection.find({hobby:{$all:[1,2,3,4]}}) #子集查询
四.$修改器
$set 简单粗暴 {$set:{name:value}} dict["name"]=value
$unset 简单粗暴的删除字段 {$unset:{name:1}} del dict["name"]
array操作
$push 在array中追加一个新的元素 相当于:[].append(item)
db.user_info.updateOne({name:"200wansui"},{$push:{hobby:10}})
$pull 在array中删除一个的元素 [].remove(item) [].pop(-1)
db.user_info.updateOne({name:"200wansui"},{$pull:{hobby:0}}) #这个0是一个值,不是索引
$pop 不含索引 -1 从前往后 1 从后往前
db.user_info.updateOne({name:"200wansui"},{$pop:{hobby:1}})
$inc 引用增加 (想一想过生日)
db.user_info.updateMany({},{$inc:{age:1}})
五.$ 字符
db.user_info.updateOne({hobby:6},{$set:{"hobby.$":"六"}})
保存符合索引条件数据的下标 (里面等于6的)
六.其他
1.Object 字典操作
db.user_info.updateOne({name:"200wansui"},{$inc:{"info.tizhong":-5}})
db.user_info.updateOne({name:"200wansui"},{$set:{"info.long":12.5}})
2.array + Object
db.user_info.updateOne({"hobby.shengao":150},{$set:{"hobby.$.long":14}})
3.limit
db.user_info.find({}).limit(5)
选取数据从当前位置选择5个
4.skip 跳过
db.user_info.find({}).skip(2)
从0开始跳过2条数据为当前位置
5.sort
db.user_info.find({}).sort({ id:-1 })
根据ID进行排序 -1倒叙 1正序
6.limit+skip+sort
db.user_info.find({}).limit(5).skip(10)
db.user_info.find({}).limit(c).skip((p-1)*c)
db.user_info.find({}).limit(5).skip(5).sort({ id:-1 })
7.总结
优先级最高的是 sort
其次优先为 skip
最低优先级 limit