Coin163

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

Linux安装Mongodb和Mongodb基本操作

来源:iteye, 原文

相关推荐:MongoDB基本操作

  SQL 语法 db.AddUser(username,password) 添加用户db.auth(usrename,password) 设置数据库连接验证db.cloneDataBase(fromhost) 从目标服务器克隆一个数据库db.commandHelp(name) returns the help for the commanddb.copyDataba

安装

下载地址: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.count()    #查看document数量

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

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

相关推荐:MongoDB基本使用和操作

成功启动MongoDB后,再打开一个命令行窗口输入mongo,就可以进行数据库的一些操作。 输入help可以看到基本操作命令: show dbs:显示数据库列表  show collections:显示当前数据库中的集合(类似关系数据库中的表)  show users:显示用户 use <db name>:切

 

更新

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

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