NoSQLMongoDB

安装

Windows平台移至此处:http://www.cnblogs.com/0bug/p/8290330.html

Ubuntu下:

下载mongodb的版本,两点注意

  • 传说产业界规则,偶数为稳定版,如一.陆.X,奇数为开发版,如壹.7.X
  • 32bit的mongodb最大不得不存放二G的多寡,64bit就从不限制

到官网,选拔得当的本子下载

解压

tar -zxvf mongodb-linux-x86_64-ubuntu1604-3.4.0.tgz 

移动到/usr/local/目录下

sudo mv -r mongodb-linux-x86_64-ubuntu1604-3.4.0/ /usr/local/mongodb

将可执行文件添加到PATH路径中

export PATH=/usr/local/mongodb/bin:$PATH

多少操作

插入

  • 语法

    db.集合名称.insert(document)

  • 插入文书档案时,假设不点名_id参数,MongoDB会为文书档案分配1个唯一的ObjectId

  • 例1

    db.stu.insert({name:’gj’,gender:1})

  • 例2

    s1={_id:’20160101′,name:’hr’}
    s1.gender=0
    db.stu.insert(s1)

简短询问

  • 语法

    db.集合名称.find()

更新

  • 语法

    db.集合名称.update(
    ,
    ,
    {multi: }
    )

  • 参数query:查询条件,类似sql语句update中where部分

  • 参数update:更新操作符,类似sql语句update中set部分
  • 参数multi:可选,暗许是false,表示只更新找到的首先条记下,值为true表示把满意条件的文书档案全体翻新
  • 例三:全文书档案更新

    db.stu.update({name:’hr’},{name:’mnc’})

  • 例四:钦命属性更新,通过操作符$set

    db.stu.insert({name:’hr’,gender:0})
    db.stu.update({name:’hr’},{$set:{name:’hys’}})

  • 例5:修改多条匹配到的数据

    db.stu.update({},{$set:{gender:0}},{multi:true})

保存

  • 语法

    db.集合名称.save(document)

  • 壹旦文书档案的_id已经存在则修改,假设文书档案的_id不设有则增进

  • 例6

    db.stu.save({_id:’20160102′,’name’:’yk’,gender:1})

  • 例7

    db.stu.save({_id:’20160102′,’name’:’wyk’})

删除

  • 语法

    db.集合名称.remove(
    ,
    {

     justOne: <boolean>
    

    }
    )

  • 参数query:可选,删除的文书档案的尺度

  • 参数justOne:可选,借使设为true或一,则只删除一条,暗中认可false,表示删除多条
  • 例8:只删除相配到的第二条

    db.stu.remove({gender:0},{justOne:true})

  • 例玖:全体删减

    db.stu.remove({})

关于size的示例

  • 例10
  • 始建集合

    db.createCollection(‘sub’,{capped:true,size:10})

  • 布署第三条数据库查询

    NoSQL,db.sub.insert({title:’linux’,count:10})
    db.sub.find()

  • 插入第3条数据库查询

    db.sub.insert({title:’web’,count:15})
    db.sub.find()

  • 插入第三条数据库查询

    db.sub.insert({title:’sql’,count:8})
    db.sub.find()

  • 插入第伍条数据库查询

    db.sub.insert({title:’django’,count:12})
    db.sub.find()

  • 插入第4条数据库查询

    db.sub.insert({title:’python’,count:14})
    db.sub.find()

未完待续

数据库命令

db查看当前数据库名称
db.stats()查看当前数据库信息

数据库删除

  • 除去当前针对的数据库
  • 壹经数据库不存在,则什么也不做

    db.dropDatabase()

MongoDB特点

  • 方式自由 :能够把不一样结构的文书档案存储在同叁个数据Curry
  • 面向集合的贮存:适合储存 JSON风格文件的花样
  • 1体化的目录帮助:对其他性质可索引
  • 复制和高可用性:扶助服务器之间的数码复制,扶助主-从形式及服务器之间的交互复制。复制的首要性指标是提供冗余及机关故障转移
  • 自行分片:帮衬云级其余伸缩性:自动分片功用帮助水平的数据库集群,可动态添加额外的机械
  • 添加的查询:支持添加的查询表明格局,查询指令使用JSON方式的记号,可任意查询文档中的内嵌的对象及数组
  • 飞快就地更新:查询优化器会分析查询表明式,并转移2个急速的查询安排
  • 迅猛的守旧存款和储蓄方式:协助2进制数据及大型对象(如照片或图表)

名词

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document 数据记录行/文档
column field 数据字段/域
index index 索引
table joins   表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

三元素:数据库,集合,文档

  • 聚拢正是关全面据库中的表
  • 文书档案对应着关全面据库中的行

文书档案,便是2个指标,由键值对组合,是json的扩大Bson情势

{'name':'guojing','gender':'男'}

  

聚拢:类似于关周详据库中的表,储存多个文书档案,结构不定点,如能够储存如下文书档案在三个集结中

{'name':'guojing','gender':'男'}
{'name':'huangrong','age':18}
{'book':'shuihuzhuan','heros':'108'}

数据库:是1个集合的情理容器,1个数据库中得以分包四个文书档案

八个服务器平日有八个数据库

管理mongo

布置文件在/etc/mongod.conf

暗许端口:270一七

启动

sudo service mongod start

停止

sudo service mongod stop

运用终端连接

以此shell正是mongodb的客户端,同时也是3个js的编写翻译器

mongo

与关系型数据库的可比

  • MongoDB将数据存款和储蓄为3个文书档案,数据结构由键值(key=>value)对构成
  • MongoDB文书档案类似于JSON对象,字段值能够涵盖其他文书档案、数组、文书档案数组

简介

  • MongoDB 是三个根据分布式 文本存款和储蓄的NoSQL数据库
  • 由C++语言编写,运维稳定,质量高
  • 意志为 WEB 应用提供可扩充的高品质数据存款和储蓄解决方案
  • 查看官方网址

数据类型

上边为MongoDB中常用的三种数据类型:

Object ID:文档ID

String:字符串,最常用,必须是实惠的UTF-八

Boolean:存款和储蓄多个布尔值,true或false

Integer:整数能够是叁拾几个人或陆11个人,那取决服务器

Double:存款和储蓄浮点值

Arrays:数组或列表,多少个值存款和储蓄到3个键

Object:用于嵌入式的文书档案,即3个值为二个文书档案

Null:存储Null值

Timestamp:时间戳

Date:存款和储蓄当今天子或时间的UNIX时间格式

object id

  • 各类文书档案都有三个属性,为_id,保险各种文书档案的唯一性
  • 可以团结去设置_id插入文书档案
  • 假定未有提供,那么MongoDB为种种文书档案提供了1个格外的_id,类型为objectID
  • objectID是3个1贰字节的十6进制数
    • 前陆个字节为当下时刻戳
    • 接下去一个字节的机器ID
    • 接下去的3个字节中MongoDB的劳动进度id
    • 末尾二个字节是粗略的增量值

集合命令

创办集合

  • 语法

    db.createCollection(name, options)

  • name是要创造的汇集的名号

  • options是1个文书档案,用于钦点集合的配备
  • 挑选​​参数是可选的,所以只供给到钦赐的集纳名称。以下是能够选拔的选项列表:
  • 例壹:不限定集合大小

    db.createCollection(“stu”)

  • 例二:限制集合大小,后边学会插入语句后方可查阅效果

  • 参数capped:暗中同意值为false表示不设置上限,值为true表示设置上限
  • 参数size:当capped值为true时,要求钦定此参数,表示上限大小,当文书档案达到上限时,会将事先的数据覆盖,单位为字节

    db.createCollection(“sub”, { capped : true, size : 10 } )

查阅当前数据库的集结

  • 语法

    show collections

剔除集合

  • 语法

    db.集合名称.drop()

网站地图xml地图