文档章节

MongoDB学习笔记之 第1章 MongoDB的安装

黎明你好
 黎明你好
发布于 2017/08/09 10:44
字数 1489
阅读 5
收藏 0

MongoDB学习笔记之 第1章 MongoDB的安装

MongoDB学习笔记之 第2章 MongoDB的增删改查

MongoDB学习笔记之 第3章 MongoDB的Java驱动

MongoDB学习笔记之 第4章 MongoDB整合Spring

第1章 MongoDB的安装

(黎明你好原创作品,转载请注明)

1.1 MongoDB简介

        MongoDB是一个基于分布式文件存储的数据库开源项目。由C++语言编写,旨在为WEB应用提供可护展的高性能数据存储解决方案。

        它的特点是可扩展,高性能,易使用,模式自由,存储数据非常方便等。

 

1.1.1 主要功能特性

a)面向文档存储:(类JSON数据模式简单而强大)。

b)高效的传统存储方式:支持二进制数据及大型对象(如照片和视频)。

c)复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。

d)Auto-Sharding自动分片支持云级扩展性(处于早期alpha阶段):自动分片功能支持水平的数据库集群,可动态添加额外的机器。

e)动态查询:它支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。

f)全索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。

g)支持RUBY,PYTHON,JAVA,C++,PHP等多种语言。

 

1.1.2 适用场景

a)适合实时的插入,更新与查询,并具备应用程序实时数据存储所需的复制及高度伸缩性。

b)适合作为信息基础设施的持久化缓存层。

c)适合由数十或数百台服务器组成的数据库。因为Mongo已经包含对MapReduce引擎的内置支持。

d)Mongo的BSON数据格式非常适合文档化格式的存储及查询。

 

1.1.3 不适用场景

a)高度事务性的系统。

b)传统的商业智能应用。

c)级为复杂的SQL查询。

 

1.2 Windows环境安装

1.2.1 下载tar包

mongodb-win32-x86_64-2.4.6。

 

1.2.2 配置文件

创建log文件夹

md D:\mongodb-win32-x86_64-2.4.6 \log

 

创建MongoDB的logpath选项的配置文件:

echo logpath=d:\mongodb-win32-x86_64-2.4.6\log\mongo.log > d:\mongodb-win32-x86_64-2.4.6\mongod.cfg

 

1.2.3 手动启动

启动服务

mongod --dbpath d:\mongodb_data
或
mongod --config d:\mongodb-win32-x86_64-2.4.6\mongod.cfg

 

1.2.4 服务启动

安装 MongoDB 程序作为Windows 服务。

安装 MongoDB 服务
mongod --config d:\mongodb-win32-x86_64-2.4.6\mongod.cfg --install

运行 MongoDB 服务
net start MongoDB

移除服务
mongod --remove

 

1.2.5 REST is not enabled

当出现以下错误时

REST is not enabled. use --rest to turn on. check that port 28017 is secured for the network too.

解决办法:

使用命令行启动时:

mongod --dbpath d:\mongodb_data  --rest --port 27017

 

重新安装系统服务:

mongod --dbpath d:\mongodb_data --config d:\mongodb-win32-x86_64-2.4.6\mongod.cfg --rest --port 27017 --install

 

1.3 Linux环境安装

1.3.1 下载包tgz

mongodb-linux-i686-2.4.6.tgz

 

1.3.2 创建用户

创建用户

adduser mongodb 
passwd mongodb

 

1.3.3 创建数据库文件

创建数据库文件

mkdir -p /data/mongodb_data
chown mongodb /data/mongodb_data –R
chgrp mongodb /data/mongodb_data -R

 

1.3.4 配置文件

创建log文件夹

mkdir /opt/mongodb/mongodb-linux-i686-2.4.6/logs

 

创建MongoDB的logpath选项的配置文件:

echo /opt/mongodb/mongodb-linux-i686-2.4.6/bin/mongod --dbpath /data/mongodb_data/ --logpath /opt/mongodb/mongodb-linux-i686-2.4.6/logs/mongodb.log --rest --port 27017

 

1.3.5 手动启动

启动服务

./mongod --dbpath /data/mongodb_data

 

1.3.6 服务启动

安装 MongoDB 程序作为Linux 服务。

安装 MongoDB 服务

echo /opt/mongodb/mongodb-linux-i686-2.4.6/bin/mongod --dbpath /data/mongodb_data/ --logpath /opt/mongodb/mongodb-linux-i686-2.4.6/logs/mongodb.log --rest --port 27017–fork >> /etc/rc.local

 

1.4 链接数据库

使用命令行方式,并创建student数据库 

命令行链接病创建数据库

>mongo
>use student

 

在Student数据库中,创建user集合,插入一条文档

在Student数据库插入一条数据并查询

db.user.save({username: "limingnihao", nickname: "黎明你好", password: "123456"})

 

 1.5 操作命令

功能 命令
进入和创建数据库 use test
增加或修改用户密码 db.addUser('name','pwd')
查看用户列表 db.system.users.find()
用户验证 db.auth('name','pwd')
删除用户 db.removeUser('name')
查看主从复制状态 db.printReplicationInfo()
修复数据库 db.repairDatabase()
拷贝数据库 db.copyDatabase("mydb","temp", 127.0.0.1");
克隆数据库 db.cloneDatabase(“127.0.0.1”);
删除当前的数据库 db.dropDatabase()
查看当前使用的数据库 db.status()
数据库版本 db.version()
查看所有用户 show users
查看所有数据库 show dbs
查看所有的collection show collections
查看profiling show profile
查询之前的错误信息 db.getPrevError()
清除错误记录 db.resetError()
创建一个聚集集合(table) db.createCollection(“collName”, {size: 20, capped: 5, max: 100})
得到指定名称的聚集集合(table) db.getCollection("account")
得到当前db的所有聚集集合 db.getCollectionNames()
显示当前db所有聚集索引的状态 db.printCollectionStats()

 

 

1.6 数据类型

 

数据类型 描述 距离
布尔值 true 或者false 真或者假: true 或者false
32 位整数 32 位整数。shell 是不支持该类型的, shell 中默认会转换成 64位浮点数  
64 位整数 64 位整数。shell 是不支持该类型的, shell 中默认会转换成 64位浮点数  
64 位浮点数 64 位浮点数。shell 中的数字就是这一种类型 { “x”: 3.14 ,“y” : 3}
字符串 UTF-8 字符串 { “foo”:“bar”}
对象id 文档的 12 字节的唯一id { “id”: ObjectId()}
日期 从标准纪元开始的毫秒数 { “date”:new Date()}
正则表达式 文档中可以包含正则表达式,遵循 JavaScript 的语法 { “foo”:/foobar/i}
JS代码 文档中可以包含 JavaScript 代码 { “x”: function() {}}
二进制数据 任意字节的二进制串组成, shell 不支持  
未定义 undefined { “x”: undefined}
数组 值的集合或者列表 { “arr”: [“a”,“b”]}
内嵌文档 文档可以作为文档中某个 key 的value { “x”:{“foo”:“bar”}}
null 表示空值或者未定义的对象 { “x”:null}

 

ObjectId类型结构:



 

本文转载自:http://limingnihao.iteye.com/blog/1938262

共有 人打赏支持
黎明你好
粉丝 1
博文 16
码字总数 2187
作品 1
朝阳
程序员
私信 提问
MongoDB学习笔记[安装与配置]

笔记是基于Windows下使用MongoDB记下的。 Mongo数据模型 一个Mongo系统(参考上述部署)包含一组数据库一个 database 包含一组collection一个 collection 包含一组document一个 document 是一...

click
2011/09/06
0
0
win7安装MongoDB学习笔记

一、安装文件 官方网址:http://www.mongodb.org/downloads,选择对应系统的文件下载。 二、安装过程: 1、解压缩文件,copy文件夹里的bin文件夹并置于C:Program Filesmongodb文件夹下,然后...

DavidBao
2015/03/24
0
0
win7安装MongoDB学习笔记

一、安装文件 官方网址:http://www.mongodb.org/downloads,选择对应系统的文件下载。 二、安装过程: 1、解压缩文件,copy文件夹里的bin文件夹并置于C:Program Filesmongodb文件夹下,然后...

姚欣炜
2014/08/12
0
0
mongoDB 学习笔记 — Linux下的安装和配置

mongoDB 学习笔记 — Linux下的安装和配置 @(Tools)[MongoDB 安装 配置] 1.源码下载 2. 解压到本地 3. 拷贝至mongoDB目录 4. 加入PATH变量 其中应该使用第三步中的mongodb安装路径代替 以上只...

RubyCat
2014/06/16
0
0
阿里专家视频课限时抢!精讲+实操12节课学懂MongoDB数据库!

想要学习MongoDB却不知道如何入门? 漫天的培训课程却无一讲解实战案例? 云栖社区联手阿里云大学独家出品—— 阿里云MongoDB技术负责人、MongoDB中文社区联席主席联合操刀 12期精讲+实操,全...

a独家记忆
07/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Confluence 6 教程:在 Confluence 中导航

当你对 Confluence 有所了解后,你会发现 Confluence 使用起来非常简单。这个教程主要是针对你使用的 Confluence 界面进行一些说明,同时向你展示在那里可以进行一些通用的任务和操作。 空间...

honeymose
今天
2
0
sed, awk 练习

1. sed打印某行到某行之间的内容 2. sed 转换大小写 将单词首字母转化大写 将所有小写转化大写 3. sed 在某一行最后面添加一个数字 4. 删除某行到最后一行 解析: {:a;N;$!ba;d} :a : 是...

Fc丶
今天
2
0
babel6升级到7,jest-babel报错:Requires Babel "^7.0.0-0", but was loaded with "6.26.3".

自从将前端环境更新到babel7,jest-babel之前是基于babel6的,执行时候就会报:Requires Babel "^7.0.0-0", but was loaded with "6.26.3". 很烦,因为连续帮好几台电脑修复这个问题,所以记...

曾建凯
今天
1
0
探索802.11ax

802.11ax承诺在真实条件下改善峰值性能和最差情况。 如何改善今天的Wi-Fi? 在决定如何改进当前版本以外的Wi-Fi时,802.11ac,IEEE和Wi-Fi联盟调查了Wi-Fi部署和行为,以确定更广泛使用的障碍...

linuxprobe16
今天
2
0
使用linux将64G的SDCARD格式化为FAT32

一、命令如下: sudo fdisk -lsudo mkfs.vfat /dev/sda -Isudo fdisk /dev/sda Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to wri......

mbzhong
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部