有的时候,我们知道MongoDB的查询json是什么样的,但是到PHP的数组中,就很容易写错了。
比如:$elemMatch这个查询操作符。$elemMatch 数组查询操作用于查询数组值中至少有一个能完全匹配所有的查询条件的文档。语法格式如下:[……]

阅读全文

写这个博客主要是,MongoDB比较奇葩,至少我们这生产环境呢,有三种驱动:mongo(低于1.3.0)、mongo(高于1.3.0 MongoClient)以及mongodb。

ReadPreference这玩意儿不设置呢,集群模式会出现读写都在主片的情况,流量大[……]

阅读全文

MongoDB驱动算是比较新的编写方式了,所以整理下增删查改的代码示例:

<?php
#连接
$mongodb = 'mongodb://127.0.0.1:27017/admin?connectTimeoutMS=1000';
$manager[......]

阅读全文

最近同事调整mongo,加入了鉴权。结果设置到yii2里就一直报错:“Authentication failed.”。
后来发现,必须要指定对应的库,才能通过鉴权,于是顺藤摸瓜,找到了原因:帐号是跟着库走的,所以在指定库里授权,必须也在指定库里验证(auth[……]

阅读全文

MongoDB比HBase好的地方在于:入门门槛相对较低,索引方面,检索的速度远比HBase那种查询要快多了。
HBase只能要么按照主键范围查询,要么全表检索。为什么大的互联网公司都在推行HBase呢,原因就在于写入的速度,HBase由于只维护一个主键,写入的[……]

阅读全文

嗯,如果没这功能,当然是脚本走起喽,后来发现官方有这个功能,可以根据一个字段的更新情况来自动删除旧的数据。
设置索引的时候可以额外设置,当然,最低版本需要3.4。
示例代码:

db.eventlog.createIndex( { "lastModifiedD[......]

阅读全文

有的时候,需要导出MongoDB的数据为csv,直接人工查看~
导出到csv指令如下:

mongoexport -h 127.0.0.1 --port 10000 -d DBName -c CollectionName -f _id,a,b,c --csv -o d:[......]

阅读全文

事情是这样的,mongo要清理一千八百万的垃圾数据,然后运维跑完,第二天一看,从库状态是RECOVERING,就手动搜了下,发现下面这篇文章解决方案符合,故全文转载。
以下全文转载自:MongoDB 分片集群故障RECOVERING 处理纪实1、问题描述[……]

阅读全文