show dbs 查看当前服务器存在多少DB
use ss1db CreateDatabase 使用不存在的对象即创建该对象 没有即创建
show tables 查看当前DB中有多少表(Collection)
mongodb的数据存储结构 :
user = [{
name:dragon,
age:20,
gender:"man"
},]
ObjectID :Documents 自生成的 _id objectID是?个12字节的?六进制数: 前4个字节为当前时间戳,接下来3个字节的机器ID 接下来的2个字节中MongoDB的服务进程id,最后3个字节是简单的增量值 String: 字符串,必须是utf-8 Boolean:布尔值,true 或者false (这里有坑哦~在我们大Python中 True False 首字母大写) Integer:整数 (Int32 Int64 你们就知道有个Int就行了,一般我们用Int32) Double:浮点数 (没有float类型,所有小数都是Double) Arrays:数组或者列表,多个值存储到一个键 (list哦,大Python中的List哦) Object:如果你学过Python的话,那么这个概念特别好理解,就是Python中的字典,这个数据类型就是字典 Null:空数据类型 , 一个特殊的概念,None Null Timestamp:时间戳 ISODate:存储当前日期或时间unix时间格式 (我们一般不用这个Date类型,时间戳可以秒杀一切时间类型)
增:
insert x 官方已经不推荐使用这个LowB的方法了
insertOne({name:"123"}) 插入一条数据行(document)
insertMany([{name:"123"},{name:"234"},{name:"345"}]) 插入多行数据
查:
查的时候没有findMany
findOne({name:"123"}) 查询满足条件的第一条数据
find({name:"123"}) 查询所有满足条件的数据
find({条件}).pretty(): 将结果格式化
find({条件},{_id:0,name:1,gender:1}) 投影 (条件可以不写)
参数为字段与值,默认是不显示, 值为1表示显示
特殊: 对于_id列默认是显示的, 如果不显示需要明确设置为0
改:
update x 官方已经不推荐使用这个LowB的方法了
updateOne({name:"123"},{$set:{gender:"man",age:20}}) 修改满足条件的第一条数据
updateMany({name:"123"},{$set:{gender:"man",age:20}}) 修改所有满足条件的数据 即使只有一条也可以
updateMany({},{$set:{gender:"man",age:20}}) 更新全部(没有则创建)
$set: 修改器,将某个Key的值修改为某个值
删:
deleteOne({name:"123"}) 删除满足条件的第一条数据
deleteMany({name:"123"}) 删除所有满足条件的数据
remove({})清空数据
$关键字:数学比较符,范围表达式,逻辑运算符
db.student.find({age:{$lt:25}})
db.student.find({age:{$lte:25}})
db.student.find({age:{$gt:23}})
db.student.find({age:{$gte:23}})
db.stu.find({age:{$in:[18,28]}})
$修改器:
1.$set: 将某个Key的值修改为某个值
2.$unset: 删除字段(field) db.student.updateOne({age:84},{$unset:{head:1}})
3.$inc : 将原有值增加多少 db.student.updateOne({age:85},{$inc:{age:1000}})
4.$push: [].append() 在arrays中在最后位置追加一个数据 db.student.updateOne({age:1085},{$push:{hobby:"chezhen"}})
5.$pull: [].remove(item) 在array中删除一个元素 db.student.updateOne({age:1085},{$pull:{hobby:"chezhen"}})
6.$pop : 删除array中的第一个或最后一个元素,-1:第一个 1:最后一个
?法sort(), ?于对集合进?排序
db.集合名称.find().sort({字段:1,...})
参数1为升序排列
参数-1为降序排列
根据性别降序, 再根据年龄升序
db.stu.find().sort({gender:-1,age:1})
limit(2) : 选取,从0-2的数据
skip(2) : 跳过 2 条数据 从第3条数据开始
分页查询:
skip(page+count).limit(count) (先skip再limit,效率要高一下)
?法count()?于统计结果集中?档条数
db.集合名称.find({条件}).count()
db.集合名称.count({条件})
db.stu.find({gender:true}).count()
db.stu.count({age:{$gt:20},gender:true})
?法distinct()对数据进?去重
db.集合名称.distinct(‘去重字段‘,{条件})
db.stu.distinct(‘hometown‘,{age:{$gt:18}})
备份的语法:
mongodump -h dbhost -d dbname -o dbdirectory
-h: 服务器地址, 也可以指定端?号
-d: 需要备份的数据库名称
-o: 备份的数据存放位置, 此?录中存放着备份出来的数据
恢复语法:
mongorestore -h dbhost -d dbname --dir dbdirectory
-h: 服务器地址
-d: 需要恢复的数据库实例
--dir: 备份数据所在位置
eg: mongorestore -d test2 --dir ~/Desktop/test1bak/test1
参考:https://www.w3cschool.cn/mongodb/
原文:https://www.cnblogs.com/carlous/p/10668724.html