
MongoDB
文章平均质量分 54
熊先生的博客
这个作者很懒,什么都没留下…
展开
-
mongoexport 导出collection
mongoexport --host --authenticationDatabase admin -u -p -d -c -o mongodb 少量数据导出命令,超过100W条因为耗时增加写入文件会增加命令执行主机和数据库的cpu占用,谨慎使用。原创 2021-02-24 10:21:29 · 701 阅读 · 0 评论 -
Mongodb 开启权限验证以及创建用户,关闭数据库
运行启动时指定–authmongod --auth --port 27017配置文件指定security: authorization: enabled 指定配置文件并后台运行/usr/bin/mongod --quiet --auth --config /etc/mongod.conf -fork创建用户指定读写权限db.createUser({user:"user_1",pwd:"20201016",roles:[{role:"readWrite",db:"sdk.原创 2020-10-16 01:08:06 · 1647 阅读 · 0 评论 -
Golang Mongo BulkWrite upsert 用法示例
文档地址: https://godoc.org/go.mongodb.org/mongo-driver/mongo#example-Collection-BulkWritepackage mainimport ( "fmt" "go.mongodb.org/mongo-driver/bson" "go.mongodb.org/mongo-driver/mongo/options" "context" "time")import mog "go.mongodb.org/mongo-dr原创 2020-09-24 18:33:03 · 2836 阅读 · 0 评论 -
PHP扩展连接 MongoDB版本问题
由于PHP安装的扩展版本不对应问题导致连接不稳定查看PHP扩展版本php -r "phpinfo();" | grep -i mongomongodbMongoDB support => enabledMongoDB extension version => 1.2.6MongoDB extension stability => stablelibmongoc bundled version => 1.5.5libmongoc SSL => enabledli原创 2020-09-04 11:32:25 · 845 阅读 · 0 评论 -
安装Lumen,使用MongoDB的坑
公司使用docker后一直使用做好的镜像。很久没有自己搭建环境。发现有些坑又忘记了。写文章记录一下。一、安装Lumen使用composer 安装Lumen指定版本。因为PHP版本是7.0 所以Lumen使用5.4的版本,如果Lumen版本与PHP 版本不匹配,运行起来很可能会有报错。composer create-project laravel/lumen service --prefer-dist "5.4.7" 复制.env.example 成 .env。并且修改CACHE_D.原创 2020-05-15 16:20:07 · 759 阅读 · 0 评论 -
MongoDB 开启慢日志
ps -ef | grep mongo发现是指定了配置文件启动root 13170 1 1 14:32 ? 00:00:17 /usr/bin/mongod --quiet --config /etc/mongod.conf -fork在 /etc/mongod.conf 中加入如下配置: operationProfiling: s...原创 2020-02-15 14:54:04 · 1147 阅读 · 0 评论 -
PHP MongoDB获取数据库中的所有collection
可用的方式:<?php$database = (new MongoDB\Client)->test;$cursor = $database->command(['listCollections' => 1]);foreach ($cursor as $collection) { echo $collection['name'], "\n";}如...转载 2019-10-14 18:33:14 · 1488 阅读 · 0 评论 -
MongoDB 运行js 脚本
官方文档:https://docs.mongodb.com/manual/tutorial/write-scripts-for-the-mongo-shell/只列出在终端运行的js,其他模式类似。next()获取当前单元。下面的脚本将total_number, remain_number 替换。var cursor=db.time_mission.find(); while(cursor...原创 2019-09-10 15:25:10 · 2770 阅读 · 0 评论 -
将mongodb 中的_id 转化为时间戳
php手册上给出的示例:https://www.php.net/manual/zh/mongoid.gettimestamp.php, 其他语言也可以参考做转化。<?php$id = new \MongoDB\BSON\ObjectID('42cf58a2e1c5ede216cb7f05');$timestamp = hexdec(substr($id, 0, 8));实际上这样用...转载 2019-06-18 14:29:40 · 6622 阅读 · 0 评论 -
MongoDB查询不存在字段将导致全表扫描
1.我们知道当查询mysql 表时,若字段不存在,将导致报错。mysql> select `field_a` from `user`;ERROR 1054 (42S22): Unknown column 'field_a' in 'field list'2.但是查询mongodb collection时,若字段不存在将怎样?注意到了吗?!“stage” : “COLLSCAN” !...原创 2019-03-28 16:38:42 · 2653 阅读 · 0 评论 -
php7.0连接mongodb4.0 当扩展版本过低时报错Another cursor derived from this client is in exhaust.
// \$dbCollection 为简写,连接数据库 $maxIds = $dbCollection->find( [], [ 'sort' => [ '_id' => -1 ], 'skip' => ...原创 2019-03-21 16:09:26 · 339 阅读 · 0 评论 -
PHP7 MongoDB bulkWrite 批量写入或者更新
批量操作mongodb 数据。优点是只用请求一次数据库。$bulk = new MongoDB\Driver\BulkWrite(['ordered' => true]);$bulk->update(['name' => 'mike'], ['$set' => ['age' => 11]]);$bulk->update( [ 'name' => ...原创 2019-03-15 19:57:46 · 2993 阅读 · 0 评论 -
MongoDB $push 的用法
官方文档地址:https://docs.mongodb.com/manual/reference/operator/update/push/1.最简单的push一个元素不讲2. $push 时使用$each student 原文档为:{ "_id" : ObjectId("5c6e02f6f578476166df7db3"), "name" : "jane" }执行:db.stud...转载 2019-02-21 10:13:09 · 8549 阅读 · 0 评论 -
MongoDB在shell以及PHP 中连接方式
公司用了阿里云的MongoDB服务也用了手动安装的原生MongoDB,记录一下。阿里云的MongoDB只能在阿里云的服务器上连接!如:我本地电脑装了Ubuntu,在自己的Ubuntu下使用shell无法连上在阿里云的MongoDB。连接阿里云的MongoDB需使用MongoDB 3.0以上版本的driver。1.连接阿里云MongoDB①.shell连接阿里云MongoDB,连接命令可在阿里云原创 2017-06-05 19:35:30 · 861 阅读 · 0 评论 -
PHP7 操作MongoDB
1.使用$inc,实现数值叠加 $updateUser = [ '$inc'=>[ "total_amount"=> 10 ] ]; $userFilter = [ '_id' => '123', ];原创 2017-04-26 17:56:36 · 2834 阅读 · 0 评论 -
php7中使用mongoDB的聚合操作对数据进行分组求和统计操作
本文将介绍mongoDB使用aggregate对数据分组,求和。给出shell命令行写法,php7中的写法,也将给出相同数据结构mysql命令行写法。 mongoDB collection a_test 中数据: > db.a_test.find(){ "_id" : ObjectId("59a2431b57416663f0330a99"), "name" : "jack", "age" :原创 2017-08-27 18:33:31 · 11159 阅读 · 0 评论 -
mongoDB备份与恢复
同事整理的命令,经常用到拿过来记录一下。备份mongodump --host dds-m5b42.mongodb.rds.aliyuncs.com:3717 --authenticationDatabase admin -u root -p [password] -d [db] -o /www/db恢复mongorestore --host dds-mb42.mongodb.rds.aliyuncs原创 2017-08-27 18:40:26 · 305 阅读 · 0 评论 -
MongoDB group 使用 $first 获取指定字段
mongodb group $first原创 2017-10-27 11:25:41 · 15626 阅读 · 0 评论 -
MongoDB索引文档翻译(一)
对文档 https://docs.mongodb.com/manual/indexes/index.html 的翻译整理,有个别段落已忽略。索引索引让MongoDB有效的执行查询语句,没有索引MongoDB必须对collection中的每个文档扫描来选择复合条件的条件的。如果对于一个查询存在合适的索引,MongoDB能利用索引限制检查的文档数。索引是一种特殊的数据结构,以简单的遍历形翻译 2018-01-25 15:53:20 · 374 阅读 · 0 评论 -
MongoDB生僻操作
1.$setOnInsert 不存在则插入。文档地址: https://docs.mongodb.com/manual/reference/operator/update/setOnInsert/#up._S_setOnInsert示例: demo collection 中数据如下:{ "_id" : ObjectId("5aec13d4856ca01363c3615f"), "c...翻译 2018-05-22 11:05:43 · 251 阅读 · 0 评论 -
mac 下安装php的mongodb扩展,提示:homebrew/php deprecated
php.net 文档地址: http://php.net/manual/zh/mongodb.installation.homebrew.php原因:The mongodb install has been removed from Homebrew. To install the mongodb extension you need to use pecl.所以用pecl安装:...转载 2018-08-17 09:45:02 · 1204 阅读 · 0 评论 -
mongodb中find $ne null 与$exists的区别
test collection 数据为:db.test.find(){ &amp;quot;_id&amp;quot; : ObjectId(&amp;quot;5be29949f1acad52e4c10b98&amp;quot;), &amp;quot;name&amp;quot; : &amp;quot;jane&amp;quot;, &amp;qu原创 2018-11-07 16:01:44 · 4887 阅读 · 0 评论 -
MongoDB db.collection.count()返回结果总数错误
问题描述使用命令:db.collection.find()发现返回数据只有8条。而使用db.collection.count() 返回数据总数有112条。stackoverflow 搜索的结果:https://stackoverflow.com/questions/30715466/incorrect-count-returned-by-mongodb-wiredtiger使用命令...原创 2019-02-13 14:15:40 · 9702 阅读 · 0 评论 -
PHP7/5中 MongoDB的正则匹配操作
PHP5和PHP7对MongoDB 的扩展是不一样的! 即使熟练mongodb的shelll命令查找数据,也不一定会用PHP操作MongoDB。形式上有些差异。 如下是几个参考文档链接。 - MongoDB官网PHP7示例: https://docs.mongodb.com/php-library/master/tutorial/crud/ - PHP官网PHP7 MongoDB 扩展说明文原创 2017-04-25 21:17:26 · 1953 阅读 · 0 评论