一、安装和配置
MongoDB 的官方下载站是 http://www.mongodb.org/downloads,可以去上面下载最新的安装程序
Windows 平台的安装
● 步骤一: 下载 MongoDB
点击上方官方下载地址, 并下载 Windows 版本
● 步骤二: 设置 MongoDB 程序存放目录
下载完成后, 解压到自定义文件夹,例: D:\mongodb\
● 步骤三: 设置数据文件存放目录
在 D:\mongodb\ 目录下创建 db 和 logs 文件夹 (和 bin 目录同级),
随后在 logs 文件夹内创建 mongodb.log 日志文件
● 步骤四: 启动 MongoDB 服务, 作为 Windows 服务
//进入 cmd 控制台
D:/mongodb/bin>mongod.exe --logpath D:/mongodb/logs/mongodb.log --logappend
--dbpath D:/mongodb/db
--directoryperdb
--serviceName MongoDB
--install
--directoryperdb 指定每个DB都会新建一个目录</div>
安装完成后,就可以在 cmd 下用命令 net start MongoDB 和 net stop MongoDB 来启动和停止 MongoDB 了
● 步骤五: 客户端连接验证
打开 cmd 输入: D:/mongodb/bin>mongo.exe
D:/mongodb/bin>mongo.exe
MongoDB shell version: 2.4.8
connecting to: test
></div>
Linux 平台的安装
● 步骤一: 下载 MongoDB
点击上方官方下载地址, 并下载 Linux 版本
● 步骤二: 设置 MongoDB 程序存放目录
下载完成后, 解压到自定义文件夹,例: /usr/local/mongo
● 步骤三: 设置数据文件存放目录
创建 /data/db 和 /data/logs 文件夹, 随后在 logs 文件夹内创建 mongodb.log 日志文件
● 步骤四: 启动 MongoDB 服务, 作为 Linux 服务随机启动
vi /etc/rc.local //使用vi 编辑器打开配置文件,并在其中加入下面一行代码
/usr/local/mongo/bin/mongod --dbpath=/data/db/ --logpath=/data/logs/mongodb.log --logappend& </div>
安装完成后, 可以使用 pkill mongod 来结束
二、数据逻辑结构
● MongoDB 的文档(document),相当于关系数据库中的一行记录。
● 多个文档组成一个集合(collection),相当于关系数据库的表。
● 多个集合(collection),逻辑上组织在一起,就是数据库(database)。
● 一个 MongoDB 实例支持多个数据库(database)。
● 默认端口: 27017
三、常用命令
选择数据库
显示当前数据库
删除当前数据库
显示当前数据库下的集合 Collections
show tables || show collections</div>
显示当前 system.profile
show profile</div>
显示当前数据库下的用户 Users
show users</div>
添加用户
db.addUser(username, password)</div>
删除用户
db.removeUser(username)</div>
四、索引 ensureIndex()
//普通索引
db.persons.ensureIndex({name:1});
db.factories.insert({name: "xyz", metro: {city: "New York", state: "NY"}});
//文档式索引
db.factories.ensureIndex({metro : 1});
//嵌入式索引
db.factories.ensureIndex({"metro.city": 1});
//组合索引
db.things.ensureIndex({name: -1, qty: 1});
//唯一索引
db.user.ensureIndex({firstname: 1, lastname: 1}, {unique: true});
/* 当一个记录被插入到唯一性索引文档时,缺失的字段会以null为默认值被插入文档 */
db.things.save({lastname: "Smith"});
//下面这个操作将会失败,因为 firstname 上有唯一性索引,值为 null
db.things.save({lastname: "Jones"});
//查看索引
db.persons.getIndexes();
//删除所有索引
db.collection.dropIndexes();
//删除单个索引
db.collection.dropIndex({x: 1, y: -1});
</div>
五、增删改查等
//定义文档
>doc = {
"_id" : 1,
"author" : "sam",
"title" : "i love you",
"text" : "this is a test",
"tags" &nb