分类目录归档:mongodb

mongodb中的管理实用命令

Mongodb中的操作方法的命令非常标准,这有助于我们能够理解、更好记住这些方法,达到熟练掌握。

1、用户

常识操作,无非包含了添、删、改、查。但有一个非常有意思的事情是,这些操作只能在相对应的db中,怎么理解呢?打比方说要给guohu库添加新用户,必需先执行use guohu,然后使用db.createUser()的方法,其他的方式类似。

继续阅读

Mongodb中配置实例

# where to write logging data.
systemLog:
#I=Info D=Debug W=Warning E=Error F=Fatal
#级别越高限制越小,当等于5时,会产生源源不断的D级别日志文件,例如[WTJournalFlusher] flushed journal
verbosity: 0
#生产环境中建议关闭,避免产生大量的日志记录

继续阅读

Mongodb的配置

配置适用于mongod、mongos,下面的介绍中只使用mongod举例说明,如有不同之处,会特别指出。

mongodb 3.0之后配置文件采用YAML格式,这种格式非常简单,使用<key>:<value>表示,开头使用“空格”作为缩进,不能使用tab。需要注意的是,“:”之后有value的话,需要紧跟一个空格,如果key只是表示层级,则无需在“:”后增加空格(比如:systemLog:后面既不需要空格)。按照层级,每行4个空格缩进,第二级则8个空格,依次轮推,顶层则不需要空格缩进。如果格式不正确,将会出现错误:

参考文章:http://shift-alt-ctrl.iteye.com/blog/2242907

继续阅读

Mongodb中的readConcern 与 readPreference的区别与原理

参考文章:http://www.mongoing.com/archives/3403

在这一篇文章提到,readPreference有5种策略:

primary 只从 primary 节点读数据,这个是默认设置
primaryPreferred 优先从 primary 读取,primary 不可服务,从 secondary 读
secondary 只从 scondary 节点读数据
secondaryPreferred 优先从 secondary 读取,没有 secondary 成员时,从 primary 读取
nearest 根据网络距离就近读取

继续阅读

PHP7中的MongoDB\Driver\WriteConcern

这个是个对mongodb的写入性能、以及确保数据一致性的控制设置,非常重要的一个类

1、final public MongoDB\Driver\WriteConcern::__construct ( string|int $w [, integer $wtimeout [, boolean $journal ]] )

参数:$w
1:默认的writeConcern,数据写入到Primary就向客户端发送确认
0:对客户端的写入不需要发送任何确认,适用于性能要求高,但不关注正确性的场景

继续阅读

PHP7中的MongoDB\Driver\Manager

这个MongoDB中的操作入口类,包括了连接MongoDB服务器、write、query的操作.

final public MongoDB\Driver\Manager::__construct ( string $uri [, array $options [, array $driverOptions ]] )

继续阅读

PHP7中MongoDB\Driver\BulkWrite

这个类可以理解为是一个搜集类,从类名中也可以提现,bulk在有道中的释义“使扩大”。该类可以将insert(写)、update(更新)、delete(删除)的多条操作收集后,发送给
MongoDB\Driver\Manager::executeBulkWrite()使用。

继续阅读