首页 > 数据库技术 > 详细

Linux安装Mongodb和Mongodb基本操作

时间:2016-02-12 02:02:37      阅读:301      评论:0      收藏:0      [点我收藏+]

安装

下载地址:https://www.mongodb.org/downloads#production


bubuko.com,布布扣
?选择要下载的版本下载。

?

在/opt目录下创建mongodb文件夹

? ? mkdir /opt/mongodb

在mongodb我文件下分别创建data,logs目录

? ? cd /opt/mongodb

? ? mkdir data

? ? mkdir logs

添加mongodb用户,用户组

? ? groupadd mongodb

? ? useradd mongodb -g mongodb

修改mongodb文件夹所有者

? ? chown -R mongodb:mongodb /opt/mongodb

将安装包复制到/opt/mongodb下解压

? ??tar zxvf mongodb-linux-i686-3.2.1.tgz

配置/etc/profile文件,在最后添加

? ??
bubuko.com,布布扣

?

使修改生效

? ? source /etc/profile

?添加CentOS开机启动项?

? ? ?vi + /etc/rc.d/rc.local

? ? 最后一行添加:mongod --dbpath=/opt/mongodb/data --logpath /opt/mongodb/logs/log.log -fork --rest

启动

? ? mongod --dbpath=/opt/mongodb/data --logpath /opt/mongodb/logs/log.log -fork --rest

? ? 如果是32bitos可能会报错,修改数据库引擎启动:

? ? mongod --storageEngine=mmapv1 --dbpath=/opt/mongodb/data --logpath /opt/mongodb/logs/log.log - fork --rest

连接

? ? mongo localhost:27017

关闭

? ? 数据库模式下:use admin,执行db.shutdownServer()即可

非正常关闭无法启动

? ? 删除%MONGODB_HOME%/db下的.lock文件

? ? 输入命令 mongod --repair

? ? 重启mongoDB

?

?基本操作

?

?与传统数据库概念对比


bubuko.com,布布扣

?

数据类型

?
bubuko.com,布布扣
?

show dbs ? #查看所有数据库

db ? ? ? ? ? ? ? ?#显示当前数据库对象或集合。

use ? ? ? ? ? ? ? ?#可以连接到一个指定的数据库。(没有自动创建)

db.dropDatabase() ? #删除数据库

隐式创建集合

?

? ? db.s1.insert({name:"smallbug",age:"23"})

显示创建

?

? ? db.createCollection("c2")

插入1000条数据:

? ? ? ? ? ?for(var i=0; i<1000; i++){ db.s1.save({name:"smallbug_"+i,age:i}) }

? ? 或者

?

? ? ? ? ? ?for(var i=0; i<1000; i++){ db.s1.insert({name:"smallbug_"+i,age:i}) }

db.s2.count() ? ?#查看document数量

db.s2.find() ? ? ? #查询记录

db.s2.find().skip(30).limit(10) ? ? ? ? ? #分页

?

更新

db.s1.update(

? ?{name:‘smallbug_100‘}, ? ?#查询条件

? ?{$set:{name:‘xiaoming‘}}, #设置值

? ?{

? ? ?upsert: false, ? ? ? ? ?#默认false,如果不存在记录不插入

? ? ?multi: true ? ? ? ? ? ? #是否修改多行,默认false修改最前面的一行

? ?}

)

pretty() ? ? #格式化输出

db.s2.remove({age:56}) ? ?#删除


bubuko.com,布布扣

查询age大于995并且name为smallbug_997或smallbug_101:

?db.s1.find({

age:{$gt:995},

$or:[

{name:‘smallbug_101‘},

{name:‘smallbug_997‘}

]

})

降序查询

? ? db.s1.find({age:{$gt:990}}).sort({age:-1}) ? ? #1为升序,默认是升序

创建索引

? ? db.s1.ensureIndex({age:1})

创建唯一索引:

? ? db.s1.ensureIndex({age:1},{unique:true})

查询索引

? ??db.system.indexes.find()

删除索引

? ??db.s1.dropIndex({age:1})

?

聚合函数根据name字段分组,求age总和

db.s2.aggregate(

[

{

$group : {_id : "$name", num_tutorial : {$sum : ‘$age‘}}

}

]

)


bubuko.com,布布扣
?管道


bubuko.com,布布扣
?先选出age在500到600之间然后根据name字段分组,求age平均值:

db.s2.aggregate(

[

{$match : {age : {$gt : 500, $lt : 600}}},

{$group : {_id : "$name", num_tutorial : {$avg : ‘$age‘}}}

]

)

age集合中必须有2,3,4,5,缺一不可

? ? db.s2.find({age:{$all:[2,3,4,5]}})

age集合中只要有2,3,4,5其中一个就好

? ???db.s2.find({age:{$in:[2,3,4,5]}})

另外$nin与$in相反

?

?explain() ? #打印查询计划

?导出数据

??mongodump -h localhost:27017 -d its -o /home/mysql01/Public/

恢复数据

? ??mongorestore -h localhost:27017 -d its --dir=/home/mysql01/Public/its

导出数据

? ??mongoexport -h localhost:27017 -d its -c s1 -o /home/mysql01/Public/a.txt

导入数据

? ??mongoimport -h localhost:27017 -d its -c s1 /home/mysql01/Public/a.txt

Linux安装Mongodb和Mongodb基本操作

原文:http://smallbug-vip.iteye.com/blog/2276181

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!