安装mongodb


sudo apt-get install mongodb

... ...


设置客户端连接


打开文件/etc/mongodb.conf  注意权限

修改 bind_ip=127.0.0.1 为 bind_ip=0.0.0.0


设置连接用户名和密码及常用命令


进入mongodb交互模式

>mongo

创建连接用户

>use admin

>db.addUser('username','password')

用户验证

>db.auth('username','password')

查看数据集

>db.collections

... ...

查看用户列表

>db.system.users.find()

查看所有用户

>show user

删除用户

>db.removeUser('username')

查看所有数据库

>show dbs

查看数据集状态

>db.printCollectionStats()

查看数据库介绍

>show profile

删除数据集

>db.demo_col.drop()

删除当前数据库

>db.dropDatabase()


服务启动与关闭


sudo service mongodb start

sudo service mongodb stop


增删改查 [数据库名称demoDB]


添加数据

>db.demoDB.save({'name':'bob','email':['[email protected]','[email protected]'],'sex':1})

修改数据

格式:db.collection.update( criteria, objNew, upsert, multi )

criteria : update的查询条件,类似sql update查询内where后面的
objNew   : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert   : 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi    : mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

>db.demoDB.update({'name':'bob'},{'$set':{'sex':0},upsert=true,multi=true})

删除数据

>db.demoDB.remove({'name':'bob'})

删除所有记录

>db.demoDB.remove()

查询所有数据

>db.demoDB.find()

查询最上面一条数据

>db.demoDB.findOne()

根据条件查询指定条数的数据

>db.demoDB.find({'sex':0}).limit(2)

跳过指定条数

>db.demoDB.skip(10)

排序sort

>db.demoDB.find({'sex':0}).sort({'name':-1})

计数操作

>db.demoDB.find({'sex':0}).count()

>db.demoDB.count()

查询指定列,去除重复

>db.demoDB.distinct('sex')

子对象查找

>db.demoDB.distinct({'addr.province':'beijing'})

条件操作符查找

gt:大于

lt:小于

gte:大于等于

lte:小于等于

ne:不等于

in:in包含 $in:[1,2,3,4]

type:数值类型    [double 1 , string 2 ,object 3,array 4, binary data 5,object id 7 ,boolean 8,date 9,null 10,reg 11,js code 13 ,32-bit integer 16 ,timestamp 17,64-bit integer 18,]

exist:是否存在 $exist:false/true

where:js查询 $where:'this.sex=0'

>db.demoDB.find({'sex':{$in:[0,1]}})

模糊查询--使用正则表达式

>db.demoDB.find({name:/^b.*/i})


04-16 18:37