您的位置:首页 > 数据库 > Mongodb

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中删除。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: