MongoDB快速入门
2013-05-16 13:51
225 查看
http://sheperd.blog.163.com/blog/static/19525511920119111149046/
MongoDB快速入门
2011-10-11 23:49:00| 分类: MongoDB|字号 订阅MongoDB Shell是MongoDB自带的交互式javascript
shell。用来对MongoDB进行操作和管理的交互式环境。
2.1 启动数据库
2.1.1 命令行方式启动
MongoDB默认的存储数据目录为/data/db,默认端口27017,默认HTTP端口28017。也可以修改成不同目录:mongod--dbpath=/data/db。
2.1.2 配置文件方式启动
启动时加上-f参数,并指向配置文件即可。配置中dbpath=/data/db/mongod -f /etc/mongodb.cnf
2.1.3 Daemon方式启动
MongoDB提供了一种后台Daemon方式启动的选择,只需要加上—fork参数即可。如果用到了--fork参数,就必须启用--logpath参数,这是强制的。2.1.4 mongod参数说明
Mongod主要参数:dbpath:数据文件存放路径。每个数据库会在其中创建一个子目录,防止同一个实例多次运行的mongod.lock也保存在次目录中。
logpath:错误日志文件
logappend:错误日志采用追加模式(默认覆写模式)
bind_ip:对外服务的绑定ip,一般设置为空,及绑定在本机所有可用ip上。如有需要可以单独绑定。
port:对外服务端口。Web管理端口在这个port的基础上+1000。
fork:以后台Daemon形式运行服务。
journal:开启日志功能,通过保存操作日志来降低单机故障的恢复时间。
syncdelay:系统同步刷新磁盘的时间,单位为秒,默认时60秒。
directoryperdb:每个db存放在单独的目录中,建议设置该参数。
repairpath:执行repair时的临时目录。如果没有开启journal,异常down机后重启,必须执行repair操作。
在源代码中,mongod的参数分为一般参数,windows参数,replication参数,replica
set参数以及隐含参数。上面列举的时一般参数。
mongod的参数中,没有设置内存大小的相关参数,因为MongoDB使用os
mmap机制来缓存数据文件数据,自身目前不提供缓存机制。mmap在数据量不超过内存时效率很高,但是数据超过内存后,写入的性能不太稳定。
2.2 停止数据库
2.2.1 Control-C
如果处与链接状态,那么直接通过control+C方式停掉MongoDB的实例。2.2.2 shutdownServer()指令
通过admin库中发送db.shutdownServer()指令停止MongoDB实例。4.3 连接数据库
新建一个session,键入mongo出现:默认shell连接的是本机localhost上的test库,”connecting
to”显示正在使用的数据库的名称,使用”use mydb”来切换数据库。
Mongo shell采用js shell。
4.4 插入记录
不需要预先创建一个集合,在第一次插入数据时候会自动创建。
在文档中其实可以存储任何结构的数据。
每次插入数据时候集合中都会有一个ID,名字叫_id。
4.5 _id key
MongoDB支持的数据类型中,_id是其自有产物。存储在MongoDB集合中的每个文档都有一个默认的主键_id,这个主键名称是固定的,它可以是MongoDB支持的任何数据类型,默认是ObjectId。
在mongoDB中,每个集合都必须有一个叫做_id的字段,字段类型默认是ObjectId。
虽然_id的类型可以自由指定,但是在同一个集合中必须唯一。
4.6.1 普通查询
从一个查询中返回一个游标对象,可以简单的通过find()来查询,它返回一个任意结合的集合。
上面的例子显示了游标风格的迭代输出。
当我们使用的是JavaScript shell,可以用到JS的特性forEach就可以输出游标了。forEach()必须定一个函数供每个游标元素调用。
在mongodb shell里,可以把游标当作数组来使用。使用游标时应该注意占用内存的问题,所以应该使用迭代的方式来输出。
4.6.2 条件查询
查询条件是{a:A,b:B,...}类似 “where a==A and b==B”
上面查询初所有的元素,也可以返回特定的元素,类似于返回表里某字段的值。
4.6.3 findOne()语法
findOne函数返回游标里第一条数据,或者返回Null。4.6.4 通过limit限制结果集数量
通过limit方法可以限制结果集的长度,这是解决性能问题的方法,减少网络传输。4.7 修改记录
将name是mongo的记录的name修改为mongo_new。4.8 删除记录
将用户Name是mongo_new的记录从集合things中删除。相关文章推荐
- MongoDB学习(五)使用Java驱动程序3.3操作MongoDB快速入门
- MongoDB学习 (四):创建、读取、更新、删除(CRUD)快速入门
- MongoDB快速入门(五)- Where子句
- MongoDB快速入门(九)- 投影
- MongoDB快速入门(十二) -- 索引
- mongodb快速入门
- mongoDB C# 驱动快速入门
- MongoDB快速入门学习笔记5 MongoDB的文档修改操作
- MongoDB快速入门笔记(四)之MongoDB查询文档操作实例代码
- MongoDB快速入门笔记(一)之windows下安装MongoDB方法
- mongodb快速入门之-----------------------------数据导入mongoimport
- 8篇MongoDB教程快速学会入门 第7篇 运维技术
- MongoDB快速入门学习笔记7 MongoDB的用户管理操作
- MongoDB学习 (四):创建、读取、更新、删除(CRUD)快速入门
- Mongodb快速入门之使用Java操作Mongodb
- Mongodb快速入门之使用Java操作Mongodb
- Mongodb快速入门之使用Java操作Mongodb
- 8篇MongoDB教程快速学会入门 第1篇 基础入门
- 8篇MongoDB教程快速学会入门 第8篇数据库驱动
- NodeJS中的MongoDB快速入门