安装
下载地址: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) #分页
更新:
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
相关推荐
本教材为redhat linux 4系统下安装mongodb 32位版本,mongodb是一个文件数据库,其他linux系统下安装都是类似的。
文中的系统版本: centos7.7 参阅官网 link 1.创建源 sudo vim /etc/yum.repos.d/mongodb-org-4.2.repo 写入: [mongodb-org-4.2] name=MongoDB Repository baseurl=...2.执行安装 因为我们此处只
mongodb在Linux下安装配置,集群搭建,分片持久化等,MongoDB安装和配置_for_Linux.doc
通过该文档可以很清晰轻松的在linux系统上安装mongodb
linux下安装mongodb
Linux安装Mongodb的步骤和注意点。
Linux下MongoDB安装及使用,linux各个版本都适用
centos7 下安装MongoDB
在linux下配置 和启动mongodb 此为非常简单的配置
Linux下安装MongoDB.docx
MongDB 安装与使用 Mac OSX、windows、Linux平台安装mongodb
网上找的资料都不齐全,于是自己根据网上查找的资料整合起来,在Linux下安装mongodb复制集+用户认证,Spring集成mongodb测试,整理操作文档,并附上源码。
linux下安装配置MongoDB (软件测试)
MongoDB是跨平台的,既可以在windows上安装,也可以在linux下安装,这里我们着重介绍Linux下的MongoDB安装。 ** 1.MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。 curl -O ...
可以在linux操作系统下的安装和使用的mongodb数据库,适用于64位系统
Linux下安装MongoDB的实现步骤 Mongo DB 是目前在IT行业非常流行的一种非关系型数据库(NoSql),其灵活的数据存储方式备受当前IT从业人员的青睐。Mongo DB很好的实现了面向对象的思想(OO思想),在Mongo DB中 每一条...
linux中MongoDB的安装包 linux中MongoDB的安装包 linux中MongoDB的安装包
Linux与window下Mongodb安装和启动配置说明Linux与window下Mongodb安装和启动配置说明
本文将讲述一下本人安装MongoDB扩展的过程,大家可以略作参考 安装环境 Linux环境:CentOS 6.5 Apache版本:2.4 PHP版本:5.4.3 MongoDB版本:2.6.5 一、下载Mongo-php扩展安装包 可以从Github上面下载,地址是...