Coin163

首页 > Linux安装Mongodb和Mongodb基本操作

Linux安装Mongodb和Mongodb基本操作

相关标签: Linux, Nosql, mongodb,

相关推荐:Linux shell上链接远程的mongodb

为了在Linux shell上链接远程的mongodb,不得不在我的开发机上重新yum下载了100多M的mongodb。这里边其实包含了mongodb的server端,感觉多余呀。有没有只下载安装一个client就可以在shell上链接远端机器上的mongodb?

安装下载地址:https://www.mongodb.org/downloads#production 选择要下载的版本下载。 在/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文件,在最后添加:

使修改生效

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

基本操作

与传统数据库概念对比: 数据类型:

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.co

相关推荐:linux - MongoDB分片集群报错

./mongod --configsvr --dbpath /Users/haoke/data/mongodb/sharded_cluster/conf/data

--port 27100 --logpath /Users/haoke/data/mongodb/sharded_cluster/conf/log

--fork --directoryperdbabout to fork child process, waiting until server is ready

unt()

#查看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})

#删除查询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'}}}]) 管道: 先选出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

安装下载地址:https://www.mongodb.org/downloads#production?选择要下载的版本下载。?在/opt目录下创建mongodb文件夹? ? mkdir /opt/mongodb在mongodb我文件下分别创建data,logs...

------分隔线----------------------------