随笔分类 - MongoDB
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
摘要:mongodb 权限字段详情 user 字段,为新用户的名字; pwd 字段,用户的密码; cusomData 字段,为任意内容,例如可以为用户全名介绍; 超级用户的 role 有两种,userAdmin 或者 userAdminAnyDatabase (比前一种多加了对所有数据库的访问,仅仅是访问
阅读全文
摘要:正确关闭 mongodb 查看 mongodb 进程 ps -ef | grep mongodb # 或者 ps -aux | grep mongodb 杀掉 mongodb 进程(不推荐) killall mongodb # 或者 mongodb-pid为 mongodb 进程id kill -9
阅读全文
摘要:前言 通过 top 命令,可以看到 MongoDB 的 CPU 使用率过高,CPU 过高会导致数据读写、处理异常缓慢,还会出现被系统抹杀进程的风险,这个问题 99.9999% 的可能性是用户使用上不合理导致的,本文介绍如何从应用的角度如何排查 MongoDB CPU 利用率过高的问题。 分析数据库正
阅读全文
摘要:前言 使用 mongodb db.auth,切换用户时,报以下错误 logical sessions can't have multiple authenticated users 原因是 mongodb 不允许一次会话认证多个用户。 解决方案 退出当前shell窗口,或者新建shell窗口,重新
阅读全文
摘要:更新依赖包 安装前我们需要安装各个 Linux 平台依赖包。 Red Hat/CentOS: sudo yum install libcurl openssl Ubuntu 18.04 LTS ("Bionic")/Debian 10 "Buster": sudo apt-get install l
阅读全文
摘要:先抛出几个问题 (1)什么时候才需要分库分表呢?我们的评判标准是什么? (2)一张表存储了多少数据的时候,才需要考虑分库分表? (3)数据增长速度很快,每天产生多少数据,才需要考虑做分库分表? 为什么要分库分表? 答案很简单:数据库出现性能瓶颈 数据库出现性能瓶颈,对外表现有几个方面: 1. 大量请
阅读全文
摘要:简介 索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。 这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。 索引是特殊的数据结构,索引存储在一个易于遍
阅读全文
摘要:复制集的作用 MongoDB 复制集的主要意义在于实现服务高可用。 它的现实依赖于两个方面的功能: 数据写入时将数据迅速复制到另一个独立节点上 在接受写入的节点发生故障时自动选举出一个新的代替节点 在实现高可用的同时,复制集实现了其他几个附加作用: 数据分发:将数据从一个区域复制到另一个区域,减少另
阅读全文
摘要:什么是 MongoDB 聚合框架 MongoDB 聚合框架(Aggregation Framework)是一个计算框架,它可以: 作用在一个或几个集合上; 对集合中的数据进行的一系列运算; 将这些数据转化为期望的形式; 从效果而言,聚合框架相当于 SQL 查询中的: GROUP BY LEFT OU
阅读全文
摘要:使用 insert 完成插入操作 操作格式: db.<集合>.insertOne(<JSON对象>) db.<集合>.insertMany([<JSON对象>, <JSON对象>, ...<JSON对象>]) 示例: db.fruit.insertOne({name: "apple"}) db.fr
阅读全文
摘要:MongoDB介绍 疑问 解答 什么是 MongoDB 一个以 JSON 为数据模型的文档数据库 为什么叫文档数据库? 文档来自于 “JSON Document”,并非我们一般理解的 PDF,WORD 文档 谁开发 MongDB? 上市公司 MongoDB Inc. ,总部位于美国纽约。 主要用途
阅读全文
摘要:如下 db.yourcollection.update({ "需要删除的字段": { "$exists": true } }, { "$unset": { "需要删除的字段":null } }, { multi: true });
阅读全文
摘要:如下 db.集合名.find( , {需要查询的字段:1, _id:0} ) 例如 db.userInfo.find({}, {'created_at':1, _id: 0}) 默认会显示 _id 1 表示显示此字段 0 表示不显示此字段
阅读全文
摘要:mgo是go编写的mongodb的数据库驱动,集成到项目中进行mongodb的操作很流畅,以下是对其的一些简单封装,具体使用可随意改动封装。 安装 go get gopkg.in/mgo.v2 使用 引入第三方包 import ( "gopkg.in/mgo.v2" "gopkg.in/mgo.v2
阅读全文
摘要:mongodump备份数据库 命令格式 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户,可以去掉-u和-p。 如果导出本机的数据库,可以去掉-h。 如果是默认端口,可以去掉--port。 如果想导出所有数据库,可以去掉-d
阅读全文
摘要:下载扩展 首先从这个网站选择适合你当前 php 版本的的 mongodb 扩展 https://pecl.php.net/package/mongodb wget https://pecl.php.net/get/mongodb-1.8.0.tgz 解压扩展包 Linux下的tar压缩解压缩命令详解
阅读全文
摘要:Laravel MongoDB This package adds functionalities to the Eloquent model and Query builder for MongoDB, using the original Laravel API. This library ex
阅读全文
摘要:安装 Laravel-MongoDB https://github.com/jenssegers/laravel-mongodb/blob/master/README.md 推荐组件 composer require jenssegers/mongodb 注册服务 如果您的Laravel版本没有自动
阅读全文
摘要:--username 用户名 --host 连接ip --port 连接端口号 --password 密码 后面不传参数,则会在命令行提示输入
阅读全文
摘要:观察如下3个参数,即位数,ts/nts,vc9/vc11/……三条规则(一定要一一对应)重要是,还要对应PHP的版本,我选的是5.6的对应的版本去http://windows.php.net/downloads/pecl/releases/mongo 或者去https://pecl.php.net/
阅读全文