Mongodb

简介

Mongodb 是一款 NoSQL(Not Only Sql 非关系型数据库), 由 C++ 语言编写而成, 现在网上说 Mongodb 这里不行那里不行的人挺多, 包括性能什么的, 特别是大访问量的时候...

其实 Mongodb 是也是支持大访问量的, 性能也还不错, 很多大型网站也都是使用 Mongodb 做数据库, 但是首先, 你得遵照它的设计原则, 如果不尊重它的原则和要求, 它就会"惩罚"你...

MongoDB 是面向文档存储的数据库, 它将传统意义上的数据库视为一个文档, 数据结构由键值对(key=>value)对组成.

下载

直接去官网下载即可.

另外, 对于 Windows 下, 有一个桌面化管理工具: Robomongo 64位, 访问密码 378c, 也可下载配合使用.

mongo 命令不区分大小写.

创建数据目录

安装好后, Mongodb 需要手动创建一个根目录用来存放数据, 请注意, 数据目录应该放在根目录下(如 C: 或者 D: 等). 如在 C: 盘 下创建一个 Data 目录做为 Mongodb 的数据目录.

D:\

mkdir Data

以 CMD 进程运行 MongoDB 服务器

为了从命令提示符下运行 MongoDB 服务器, 需要在 MongoDB 目录的 bin 目录中执行 mongod.exe 文件.

mongod --dbpath D:\Data

如果执行成功, 可能会输出类似如下信息:

I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
I CONTROL  [initandlisten] MongoDB starting : pid=10916 port=27017 dbpath=D:\Data 64-bit host=SH61041PCW
I CONTROL  [initandlisten] targetMinOS: Windows Vista/Windows Server 2008
I CONTROL  [initandlisten] db version v3.2.4
I CONTROL  [initandlisten] git version: e2ee9ffcf9f5a94fad76802e28cc978718bb7a30
I CONTROL  [initandlisten] allocator: tcmalloc
I CONTROL  [initandlisten] modules: none
I CONTROL  [initandlisten] build environment:
I CONTROL  [initandlisten]     distarch: x86_64
I CONTROL  [initandlisten]     target_arch: x86_64
I CONTROL  [initandlisten] options: { storage: { dbPath: "D:\Data" } }
I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=4G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'D:/Data/diagnostic.data'
I NETWORK  [initandlisten] waiting for connections on port 27017
……

以 Windows 服务运行 MongoDB 服务器

mongod --bind_ip [your id adress] --logpath [D:\Data\mongodb.log] --logappend --dbpath [D:\Data] --port [your port number] --serviceName [your service name] --serviceDisplayName [your service name] --install

下表为 mongodb 启动的参数说明:

  • bind_ip 绑定服务 IP, 若绑定 127.0.0.1, 则只能本机访问, 默认所有 IP

  • logpath 指定 MongoDB 日志文件, 注意是指定文件不是目录

  • logappend 使用追加的方式写日志

  • dbpath 指定数据库路径

  • port 指定服务端口号, 默认端口 27017

  • serviceName 指定服务名称

  • serviceDisplayName 指定服务名称, 有多个 mongodb 服务时执行

  • install 指定作为一个 Windows 服务安装

MongoDB 自带的 Client

MongoDB 自带的 Client 是交互式的 Shell, 用来对 MongoDB 进行操作和管理, 执行 MongoDB 根目录下 bin 目录中的 mongo.exe 文件就能打开这个交互环境.

当进入 MongoDB Client 后, 它默认会链接到 test 文档(MongoDB 的文档就是常规理解中的数据库)

> mongo
MongoDB shell version: 3.0.6
connecting to: test
……

db 命令用于查看当前操作的文档(数据库):

> db
test
>

db.serverCmdLineOpts() 方法用来查看连接的 Mongodb 的信息:

db.serverCmdLineOpts()
{
        "argv" : [
                "mongod",
                "--dbpath",
                "D:\\Data"
        ],
        "parsed" : {
                "storage" : {
                        "dbPath" : "D:\\Data"
                }
        },
        "ok" : 1
}

MongoDB Client 中还可以运行一些简单的算术运算:

> 2 + 2
4
>

关闭服务

可以用以下三种方法来关闭已启动的 Mongodb 服务器:

  • 最暴力, 直接 kill mongodb process

  • 打开个 CMD, mogod --shutdown --dbpath xxx (好像新版的 mongodb 已经去除这个命令了)

  • 用 Client 连上服务器, 然后切换到 admin 数据库, 使用 db.shutdownServer()

    • use admin

    • db.shutdownServer()

Last updated