MongoDB(1)--非关系型数据库的使用

文章目录[x]
  1. 1:安装
  2. 2:关于集合的基本命令
  3. 3:储存的数据类型
  4. 4:插入命令
  5. 5:保存
  6. 6:更新操作
  7. 7:删除
  8. 8:查询高级操作
  9. 9:备份与恢复

NoSQL数据库种类繁多, 但是⼀个共同的特点都是去掉关系数据库的关系型特性。

安装

工欲善其事,必先利其器。现在就说一下如何安装MongoDB。

直接安装(这里以Ubuntu为例)

sudo apt-get install -y mongodb-org

一些其他命令(仅对这种方式有效)

  • 查看帮助:mongod –help
  • 启动:sudo service mongod start
  • 停止:sudo service mongod stop
  • 重启:sudo service mongod restart
  • 查看是否启动成功:ps ajx|grep mongod
  • 配置文件的位置:/etc/mongod.conf,
  • 默认端⼝:27017
  • 日志的位置:/var/log/mongodb/mongod.log

用上一种方式如果定位不到软件源的话,那么就要用手动安装方式

下载地址:https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tgz(或者在官网下载其他版本都可以)

我这里的linux系统是深度的系统,当然Ubuntu也可以

  • 完成下载后,把软件包移动到软件安装的目录下,我这里是/usr/local/
  • 解压:tar -zxvf mongodb-linux-x86_64-2.6.0.tgz(权限不够,要加sudo,下同)
  • 更改安装目录:mv mongodb-linux-x86_64-2.6.0.tgz mongodb
  • 创建mongodb数据库存放路径:mkdir -p /data/db
  • 创建mongodb数据库日志存放路径:mkdir -p /usr/local/mongodb/log/(存放在安装路径下)
  • 启动服务
/usr/local/mongodb/bin/mongod --dbpath=/data/db --logpath=/usr/local/mongodb/log/mongodb.log --logappend --port 27017 --fork
添加到path路径:

 

$ vim /etc/profile
添加一下代码到文件的最后一行,并保存:
export PATH=$PATH:/usr/local/mongodb/bin

使设置生效:source /etc/profile
进入控制台:mongo(在任意位置)

设置开机自启以及其他错误,可以自己谷歌百度一下。

安装成功后输入mongo进入控制台

默认进去的应该是test库,可以用db看一下当前数据库

show dbs 或者show databases查看所有数据库

基本操作

 

查看当前的数据库:db

查看所有的数据库:show dbs /show databases

切换数据库:use db_name

删除当前的数据库:db.dropDatabase()

 

关于集合的基本命令

 

不手动创建集合: 向不存在的集合中第⼀次加⼊数据时, 集合会被创建出来

手动创建结合: db.createCollection(name,options)

db.createCollection("stu")

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

参数capped: 默认值为false表示不设置上限,值为true表示设置上限 参数size:

当capped值为true时, 需要指定此参数, 表示上限⼤⼩,当⽂档达到上限时, 会将之前的数据覆盖, 单位为字节

查看集合:show collections 删除集合:db.集合名称.drop()

储存的数据类型

 

Object ID: ⽂档ID

String: 字符串, 最常⽤, 必须是有效的UTF-8

Boolean: 存储⼀个布尔值, true或false

Integer: 整数可以是32位或64位, 这取决于服务器

Double: 存储浮点值

Arrays: 数组或列表, 多个值存储到⼀个键

Object: ⽤于嵌⼊式的⽂档, 即⼀个值为⼀个⽂档 Null: 存储Null值

Timestamp: 时间戳, 表示从1970-1-1到现在的总秒数 Date: 存储当前⽇期或时间的UNIX时间格式

 

插入命令

  • db.集合名称.insert(document)
  • db.stu.insert({name:'gj',gender:1})
  • db.stu.insert({_id:"20170101",name:'gj',gender:1})
  • 插⼊⽂档时, 如果不指定_id参数, MongoDB会为⽂档分配⼀个唯⼀的ObjectId

保存

 

db.集合名称.save(document)

如果⽂档的_id已经存在则修改, 如果⽂档的_id不存在则添加

简单查询

db.集合名称.find()

更新操作

 

db.集合名称.update(<query> ,<update>,{multi: <boolean>})

参数query:查询条件

参数update:更新操作符

参数multi:可选, 默认是false,表示只更新找到的第⼀条记录, 值为true表示把满⾜条件的⽂档全部更新

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>})

参数query:可选,删除的⽂档的条件

参数justOne:可选, 如果设为true或1, 则只删除⼀条, 默认false, 表示删除多条

查询高级操作

 

⽅法find(): 查询

db.集合名称.find({条件⽂档})

⽅法findOne():查询,只返回第⼀个 db.集合名称.findOne({条件⽂档})

⽅法pretty(): 将结果格式化 db.集合名称.find({条件⽂档}).pretty()

备份与恢复

备份语法:

mongodump -h dbhost -d dbname -o dbdirectory

-h: 服务器地址, 也可以指定端⼝号

-d: 需要备份的数据库名称

-o: 备份的数据存放位置, 此⽬录中存放着备份出来的数据

如果是本机的话-h字段可以省略

示例:mongodump -h 192.168.6.128:27017 -d test -o ~/Desktop/MongoDB

恢复语法:

mongorestore -h dbhost -d dbname --dir dbdirectory

-h: 服务器地址

-d: 需要恢复的数据库实例

--dir: 备份数据所在位置

示例:mongorestore -h 192.168.6.128:27017 -d test1 --dir ~/Desktop/MongoDB/test

 

 

 

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

Title - Artist
0:00