背景
特点
因为是非关系数据库,所以可以存储复杂多样的数据结构
非关系型数据库中功能最丰富的,最像关系型数据库
自身带有强大的查询功能,几乎可以实现类似关系型数据库胆练边查询的绝大部分功能(集合查询/正则查询/范围查询/skip/limit),支持对数据建立索引。
自带出色的分布式管理系统GridFS(但不是真正意义的并行),支持海量数据存储
环境
Ubuntu 14.04
MongoDB version 2.4.9
参考文档:http://www.cnblogs.com/refactor/category/394801.html
安装
sudo apt-get install mongodb #version : mongodb-2.4.9
sudo pip install pymongo #version : pymongo-3.2.2
配置
启动服务:
sudo service mongodb start
设置链接密码:
$mongo
>use admin
>db.addUser("bazinga""1234")
退出再登陆
$mongo
>use admin
switched to db admin
>show collections
system.indexes
system.users
如果显示链接有误:
>use admin
>db.auth("bazinga","1234")
>show collections
默认只允许本地连接数据库,设置客户端配置:
$sudo vim /etc/mongodb.conf
(将这一行注释掉)
#bind_ip = 127.0.0.1
使用MongoDB自带Shell操作
首先使用数据库不用新建,下发插入命令后,系统自己会自己会创建,基础的操作:
$mongo 127.0.0.1:27017
MongoDB shell version: 2.4.9 #mongodb自带javascript shell
connecting to: 127.0.0.1:27017/test
use ERdb #数据库名称
post = {'name':'Wang'} #增加的记录
db.members.insert(post) #进入数据库后全局变量db是访问mongoDB的入口,members是集合名(表单)
db.members.find() #读取集合中所有的记录
db.members.remove({'name':'Wang'}) #删除集合members中所有匹配到的记录
db.drop_collection('members') #删除集合
使用pymongo
链接数据库:
批量更新:
account.update({'name':'李四'},{'$set':{'phone':123456}},multi=True) #更改李四所有记录中phone值