MongoDB的安装(Linux平台):
第一步:下载MongoDB安装包
MongoDB的官网:http://www.mongodb.org 找到相应的版本下载。
如果有网络的话,用命令直接下载(CentOS版本)
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.0.tgz
第二步:解压压缩包
tar -zxvf mongodb-linux-i686-1.8.0.tgz
最好给解压的文件夹改个名字,方便操作。
mv mongodb-linux-i686-1.8.0.tgz mongodb
第三步:安装准备
将mongodb移动到/usr/local/mongdb文件夹
mv mongodb/usr/local/mongodb
创建数据库文件夹(默认的数据库文件的位置是/data/db,启动时会自动创建)
mkdir /usr/local/mongodb/data
mkdir /usr/local/mongodb/dblogs
提示:mongoDB没有具体的安装过程,解压文件包后,可以直接使用,非常高效和方便
第四步:开机自启动
将mongodb启动项目加入rc.local保证mongodb在服务器开机时启动
echo"/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --fork --logpath=/usr/local/mongodb/dblogs">> /etc/rc.local
第五步:启动mongodb
运行mongod命令
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/dblogs.txt
--dbpath执行数据库存放路径(默认是/data/db)
--fork是以Daemon(进程)方式运行,
注意:如果指定--fork参数,必须指定--logpaht日志文件路径
启动命令常用参数选项说明
--dbpath 指定数据库的目录
--port 指定数据库的端口,默认是27017
--bind_ip 绑定IP
--directoryperdb为每个db创建一个独立子目录
--logpath指定日志存放目录
--logappend指定日志生成方式(追加/覆盖)
--pidfilepath指定进程文件路径,如果不指定,将不产生进程文件
--keyFile 集群模式的关键标识
--journal 启用日志
--nssize 指定.ns 文件的大小,单位MB,默认是16M,最大是2GB
--maxConns最大的并发连接数
--notablescan不允许进行表扫描
--noprealloc关闭数据文件的预分配功能
--fork 以后台Daemon形式运行服务
--profile arg 0=off 1=slow, 2=all 慢查询
--slowms arg (=100) value of slow for profile and console log
--auth run with security
--master master mode
--slave slave mode
更多的参数选项利用mongod --help 进行查看
about to fork child process, waiting until server is ready for connections.
forked process: 98771
ERROR: child process failed, exited with error number 1 or 100
遇到上述错误 是mongo子线程对logpath没有读写权限 或者 mongo未正常关闭导致没有删掉.lock文件
清除 /usr/local/mongodb/bin/mongod --repair --dbpath=/data/mongodb/data/ --logpath=/data/mongodb/dblogs/logs
启动 /usr/local/mongodb/bin/mongod --dbpath=/data/mongodb/data/ --fork --logpath=/data/mongodb/dblogs/logs
dbpath是路径 logpath是文件
第六步:进入客户端操作
/usr/local/mongodb/bin/mongo (mongo命令) 。(默认进入的是test库)
第七步:退出shell控制台
Ctrl+c 或exit 回车
第八步:停止MongoDB服务器
如果处理连接状态,那么直接可以通过在admin 库中发送db.shutdownServer()指令去停止
Unix系统指令 :
kill -2 PID
pkill mongod(最优)
killall mongod
注意: 不要用kill -9 PID来杀死MongoDB进程,这样可以会导致MongoDB的数据损坏,用kill -2 杀死进程。
如果-9杀掉进程引起mongod不能启动,则到/usr/local/mongodb/data下去删掉rm –rf mongod.lock
MongoDB 数据类型:
1、null
null类型用于表示空值或不存在的字段
如:{“one”:null}
2、布尔类型
布尔类型有两上值,’true’和’false’
如:{“one”:true}
3、32位整数
mongoDB的控制台使用JS引擎进行输入,而JS仅支
持64位浮点数,所以32位整数将会被自动转义。
4、64位整数
64位整数与32位整数一样,在MongoDB控制台使用
时,会转义成64位浮点数。
5、64位浮点数
MongoDB控制台数字的默认类型。
如:{“one”:2.02} {“one”:10}
6、字符串
UTF-8字符串都可以表示为字符串类型的数据。
如:{“one”:”HelloWorld”}
7、符号
在MongoDB控制台中不支持这种类型,将自动转义成字符串
8、ObjectId 类型
对象id是文档中唯一的12位的ID
0|1|2|3|4|5|6|7|8|9|10|11
时间戳|机器| PID | 计数器
如:ObjectId("4eae239f63520362e051e7fd")
9、日期
注意:使用的时候要加上new
如:{“one”:new Date()}
10、正则表达式
文档键值可以包含正则表达式,其正则表达式采用JS语法来表示。
如:{“one”:/ho/i}
11、代码
文档中可以包含JS代码
如:{“one”:function(){/*………….*/}}
12、数组
文档中键值可以表示为数组,在数组内还可以嵌套数组;
如:{“x”:[“a”,”b”,[“c”,”d”]]}
13、内嵌文档
文档可以包含别的文档,也可以作为值嵌入到父文档中。
如:{“x”:{“name”:”Tom”,”age”:20}}
控制台中的基本操作命令:
如果想查看当前连接在哪个数据库下面,可以直接输入db
查看用户列表db.system.users.find();
查看所有用户show users;
查看所有数据库show dbs;
查看所有集合show collections;
删除当前的数据库db.dropDatabase();
删除collection db.集合名.drop();
想知道mongodb支持哪些命令,可以直接输入help;
想知道当前数据库支持哪些方法:db.help();
想知道当前集合支持哪些方法:db.user.help(); user为集合名
更多命令可以用帮助命令获得!
1)列出当前的数据库
使用mongo命令进入数据库,使用show dbs命令查看所有的数据库
2)定义新的数据库名
Use mydb
注意:在use mydb后,其实并没有真正的建立起来,只是表明在使用当前的数据库
3)保存数据。(隐式创建数据库和集合)
定义一个collection(集合),名为“users”,然后插入数据:首先用insert语句插入一条数据,使用的是users集合,插入成功后查看所有的库,多了个mydb的库,再查看所有集合,多了个users集合,再查看刚才添加的数据,也可以查到