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