首页 > 数据库技术 > 详细

MongoDB入门

时间:2019-04-08 10:28:39      阅读:135      评论:0      收藏:0      [点我收藏+]

 

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类型,时间戳可以秒杀一切时间类型)
01.数据类型

 

技术分享图片
增:
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({})清空数据
02.增删改查

 

技术分享图片
$关键字:数学比较符,范围表达式,逻辑运算符
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:最后一个
03.$关键字 与 $修改器

 

技术分享图片
?法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}})
04.排序,分页,count,distinct

 

技术分享图片
备份的语法:
    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
   
05.数据的备份和恢复

 

 

参考:https://www.w3cschool.cn/mongodb/

MongoDB入门

原文:https://www.cnblogs.com/carlous/p/10668724.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!