芒果db入门笔记

来源:互联网 发布:阿里云客户端下载 编辑:程序博客网 时间:2024/04/29 01:47
1.解压安装包 
tar -zxvf /home/mongodb/mongodb-linux-x86_64-rhel62-3.2.9.tgz
mv /home/mongodb/mongodb-linux-x86_64-rhel62-3.2.9 /usr/local/mongodb


2.更改环境变量
vi /home/mongodb/.bash_profile  
在PATH变量下添加
PATH=/usr/local/mongodb/bin:$PATH


3.创建数据文件目录
mkdir /u01/mongodata/
chown -R mongodb:dba /u01/mongodata/


4.启动服务 (最好将数据文件与日志分开,减轻i/o负载)
mongod --dbpath=/u01/mongodata/ --logpath=/u01/mongodata/logs --logappend  --port=19932 --auth --fork
4.1配置启动选项 (详细参照mongod --help)
vi /usr/local/mongodb/bin/mongodb.cf添加启动参数
dbpath=/u01/mongodata/              #数据文件目录
logpath=/u01/mongodata/logs    #log日志路径
logappend=true                              #日志不覆盖 
port=19932                                      #端口
auth=true                                         #验证登陆
fork=true                                          #后台守护




mongod --config /usr/local/mongodb/bin/mongodb.cf


5.创建root角色的管理用户
切换到admin数据库
use admin
查看当前连接数据库
db
创建用户     
db.createUser({user:"base",pwd:"654321",roles:[{role:"root",db:"admin"}]})


6.客户端连接
mongo qxdb --port 19932 -u base -p 


7.创建数据库
use qxdb   --删除 db.dropDatabase()
添加用户
db.createUser({user:"cy",pwd:"654321",roles:[{role:"readWrite",db:"qxdb"}]})


8.创建集合(类似关系型db的表)
db.createCollection("clt_user")
查看集合
show collections
删除集合
db.clt_user.drop()


9.文档(类似于关系型db的行记录)的增删改查
9.1插入
db.clt_user.insert({"name":"aa"})
db.clt_user.insert({"name":"bb","sal":1000})
db.clt_user.insert({"name":"cc","addr":"sz","sal":5000,"tags":["a","b","c"]})
9.1.1变量插入
docu=({"name":"dd","addr":"sz","sal":5000,"tags":["a","b","c"]})
db.clt_user.insert(docu)


9.2更改(如不带multi选项的话,只会修改最先发现的文档)
db.clt_user.update({"name":"cc","sal":5000},{$set:{"addr":"nj","tags":["a","b","c"]}},{multi:true})


9.3删除
db.clt_user.remove({"name":"cc","sal":5000})
db.clt_user.remove({"name":"cc","sal":5000},justone=true) 或者db.clt_user.remove({"name":"cc","sal":5000},1) 


9.4查询
db.clt_user.find(query)   --pretty()格式化选项


9.4.1范围查询
----- e为=
>= $gte
<= $lte
查询sal >1000且 <=5000的例子,注意插入时候的数据类型
db.clt_user.find({"sal": {$gt:1000,$lte:5000} })


9.4.2类型匹配 详细参见数据类型表
db.clt_user.find({"sal":{$type:2}})


9.4.3limit限制(类似于mysql的limit)
db.clt_user.find({"name":"cc"}).limit(2)


9.4.4skip跳过文档
db.clt_user.find({"name":"cc"}).skip(2)


9.4.5排序 1升序,-1降序
db.clt_user.find({"name":"cc"}).sort({"sal":1})
0 0
原创粉丝点击