Mongodb:笔记一(安装及基本操作)

时间:2021-08-02 02:36:27

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集合,再查看刚才添加的数据,也可以查到