enter image description here

什么是MongoDB

  MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

安装
Mac

  Mac下面安装MongoDB。有两种方式一种从官网下载安装安装,下载地址
另外一种是使用Mac上面的神器”brew”来安装。

#安装mongodb
brew install mongodb
Linux
#下载mongodb
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz   
#解压
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz    
#移动到/usr/local/mongodb                                
sudo mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
#添加到PATH路径中 
export PATH=/usr/local/mongodb/bin:$PATH 
使用
创建数据库目录
sudo mkdir -p /data/db
启动数据库
#这种启动方式会随终端的关闭导致mongodb也关闭
sudo ./mongod
#后台启动  --logpath制定日志位置
sudo ./mongod --fork --logpath /var/log/mongod.log
创建数据库
#语法use DATABASE_NAME 不存在就创建,存在则切换
use db-test
删除数据库
#删除当前数据库
db.dropDatabase()
创建集合
#这里集合可以理解关系型数据库里面的表的概念
db.createCollection("test")
插入数据
#{}里面为Json格式。请注意""
db.test.insert({"name":"小红","age":"10"})
db.test.insert({"name":"小蓝","age":"11"})
db.test.insert({"name":"小白","age":"12"})
db.test.insert({"name":"小紫","age":"13"})
db.test.insert({"name":"小绿","age":"14"})
查询数据
#查询test这个集合里面所有数据
db.test.find()
#根据条件查询数据。只查询名字叫做小白的行
db.test.find({"name":"小白"})
#查询年龄大于11的行 $gt 为操作符。见下面的操作符
db.test.find({"age":{$gt:"11"}})
操作符
#大于
$gt
#小于
$lt
#大于等于
$gte
#小于等于
$lte
修改数据
#修改小红的年龄为20。update为修改,save为替换
db.test.update({'name':'小红'},{$set:{"age":'20'}})
删除数据
#删除名字为小红的行
db.test.remove({'name':'小红'})
#删除test集合下面所有数据
db.test.remove({})
排序
#以年龄排序 1为升序排列,-1是用于降序排列
#db.test.find().sort({"age":-1})
Limit
#获取前3行数据
db.test.find().limit(3)
#按照年龄降序 获取前3条
db.test.find().sort({"age":-1}).limit(3)
备份
#备份db-test到/home/ubuntu目录下
mongodump -d db-test -o /home/ubuntu
还原
#从/home/ubuntu目录下面备份还原db-test数据库。
mongorestore -d db-test /home/ubuntu

图形化管理工具

  虽然mongodb提供了shell查询工具。但是在日常开发过程为了方便快速开发和使用。一般会用到图形化管理工具。这里以robomongo为列。官网下载地址。下载安装完成之后。打开robomongo。
enter image description here
点击created,然后输入mongodb地址。默认地址localhost,端口为27017.然后点击save.
enter image description here
这样我们就可以通过robomongo很方便管理数据库了。后面还会继续分享一些在使用mongodb中遇到的问题。

版权声明:本文为pass245939319原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/pass245939319/p/8810634.html