明星志愿2050,薛明简历,tbzy
前言
mongodb是一个非关系型数据库软件(nosql),以类似json的形式bson存储数据,bson有二进制的json的意思,官方说bson的效率更高,很适合存储类似于对象的数据,这里权当把自己学习的过程记录下来。
关于mongodb的安装方法给大家推荐下面这几篇文章:
2、
好了,下面开始本文的正文:
mongodb:nosql数据库
mongodb中的重要指示点
1、mongodb中的三要素
2、mongodb中的数据存储是以bson的形式存储的,bson是二进制的json,所以看上去记录的形式类似于json数据
3、mongodb中集合中的数据不同于关系型数据库中的数据,mongodb中文档结构可以不同,因此扩展性非常好
mongodb的优点:易扩展、高性能、灵活的数据模型
mongodb的缺点:数据重复存储,占用空间大
mongodb启动
命令行(终端)启动命令
查看帮助命令,默认端口,日志位置
mongod –help
ps ajx|grep mongod
mongodb客户端
mongo –help
mongodb的基础命令
操作数据库命令
查看当前的数据库:db
查看所有的数据库:show dbs /show databases
切换数据库:use db_name删除当前的数据库:db.dropdatabase()
显示当前数据库状态:db.stats()
当前数据库版本:db.version()
查看当前数据库的链接机器地址:db.getmongo()
操作集合的命令
不手动创建集合:
手动创建结合:
创建用户:db.createuser({user:"laowang",pwd:"123456",roles:[{role:"useradmin",db:"stu"}]})
db.createcollection(name,options)
db.createcollection("stu")
db.createcollection("sub", { capped : true, size : 10 } )
显示当前所以用户:show users
删除用户:db.removeuser("username")
查看集合: show collections
删除集合: db.集合名称.drop()
mongo中的数据类型
object id: ⽂档id
string: 字符串, 最常⽤, 必须是有效的utf-8
boolean: 存储⼀个布尔值, true或false
integer: 整数可以是32位或64位, 这取决于服务器
double: 存储浮点值
arrays: 数组或列表, 多个值存储到⼀个键
object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档
null: 存储null值
timestamp: 时间戳, 表示从1970-1-1到现在的总秒数
date: 存储当前⽇期或时间的unix时间格式
注意事项:
创建⽇期语句如下 :参数的格式为yyyy-mm-dd每个⽂档都有⼀个属性, 为_id, 保证每个⽂档的唯⼀性
new date('2017-12-20')
可以⾃⼰去设置_id插⼊⽂档,如果没有提供, 那么mongodb为每个⽂档提供了⼀个独特的_id, 类型: objectid
objectid是⼀个12字节的⼗六进制数(了解):
插入数据
db.集合名称.insert(document)插⼊⽂档时, 如果不指定_id参数, mongodb会为⽂档分配⼀个唯⼀的objectid类型的_id
db.stu.insert({name:'gj',gender:1})
db.stu.insert({_id:"20170101",name:'gj',gender:1})
插入单条指定为字典, 插入多条指定为列表
保存
db.集合名称.save(document)
如果⽂档的_id已经存在则修改, 如果⽂档的_id不存在则添加
区别于: insert如果存在直接报错
简单查询:
db.集合名称.find()
更新
语法: db.集合名称.update(<query> ,<update>,{multi: <boolean>})
举例:注意:"multi update only works with $ operators" 更新全部,必须使用 $set
db.stu.update({name:'hr'},{name:'mnc'})
更新一条,没有更新的字段会丢弃.db.stu.update({name:'hr'},{$set:{name:'hys'}})
更新一条db.stu.update({},{$set:{gender:0}},{multi:true})
更新全部删除
语法: db.集合名称.remove(<query>,{justone: <boolean>})
总结:
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对移动技术网的支持。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
理解Redis持久化,RDB持久化和AOF持久化的不同处理方式
Redis 两类持久化方式,快照和全量追加日志的不同处理方式
网友评论