MongoDB是什么?看完你就知道了!
一、概述
1.MongoDB是什么?用一句话总结
MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库。
2.为什么要使用MongoDB?
(1)MongoDB提出的是文档、集合的概念,使用BSON(类JSON)作为其数据模型结构,其结构是面向对象的而不是二维表,存储一个用户在MongoDB中是这样子的。…
记录-交流-Web开发知识分享
MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库。
(1)MongoDB提出的是文档、集合的概念,使用BSON(类JSON)作为其数据模型结构,其结构是面向对象的而不是二维表,存储一个用户在MongoDB中是这样子的。…
mongodb的日志相对其他数据库来说应该算是很大的,刚才由于报警,所以我查看啦一下,有15G的日志产生,下面是我的清理过程
出于对安全方面,我们服务器禁止使用rm命令,所以我在/home目录下创建啦一个mongolog文件夹
先查看一下日志大小和数量…
一.官网下载 mongodb,解压到指定目录
本机mongodb目录为:/usr/context/mongodb/mongodb-3.2.10/
二 .编写配置文件,主要指定数据库文件,日志文件,以及一些启动参数.…
我在生产中使用MongoDB多年。在这个时候,我尝试了不同的工具和开发方法; 一些证明对我们有用,有些则没有。在这篇文章中,我喜欢分享方便的CLI工具,用于处理MongoDB,基于Docker的本地开发方法和有用的Mongo shell代码片段。
…
首先,mongo默认登录不需要密码
登录完之后,
1.创建 admin
角色:userAdminAnyDatabase (这是一个账号管理员的角色)
admin用户用于管理账号,不能进行关闭数据库等操作,目标数据库是admin…
摘要: 各位老铁们,你们有没有想老张,最近老张的才华被工作的繁忙所限制了,所以一直没时间更博,今儿个时隔数日我们终于再次见面啦(很开心)!最近有部特别火的宫廷戏,不知道大家有没有看,剧名叫做《延禧攻略》,讲述得是一个宫女,一路过关斩将,最后成为皇上最宠爱的令贵妃的故事。
各位老铁们,你们有没有想老张,最近老张的才华被工作的繁忙所限制了,所以一直没时间更博,今儿个时隔数日我们终于再次见面啦(很开心)!最近有部特别火的宫廷戏,不知道大家有没有看,剧名叫做《延禧攻略》,讲述得是一个宫女,一路过关斩将,最后成为皇上最宠爱的令贵妃的故事。
加上我本人巨爱这类题材,所以痴迷得不得了。(好像暴露了自己没有更博的真正原因哈哈)。宫廷类的剧,都是后宫嫔妃之间的尔虞吾诈,勾心斗角,有你没我,有我没你的残酷事实。胜者为王,败者为寇这种思想好像从古代就一直延续到今日。非要分出个胜负,分出个谁好,谁坏才罢休。
在数据库领域也会有此类问题,老张我混迹开源数据库圈多年。MySQL 数据库占领着开源数据库的头把交椅,MongoDB 占领着 NoSQL 数据库的第一位。我们来看下数据库的整体排名情况;
两者都是第一,所有总会拿来比较。也会经常被人问及到诸如此类的问题MongoDB4.0 已经问世了,而且支持事务了,是不是将来可以取代 MySQL了。MySQL 和 MongoDB 哪个数据库好用啊。今天老张想通过这篇文章,带着大家全方位解读 MySQL 与 MongoDB 的区别。让有困惑的老铁们明白,没有谁替代谁,只有哪个场景更适合谁。
我们从下面四个方向依次阐明两者的区别。只有更了解彼此,让能更好地利用它们的功能性。
数据库概述
我们先来了解一下 MySQL 这个数据库;
再来学习一下 MySQL 数据库的特点;
MySQL了解完,同理我们来了解 MongoDB 及其特点的介绍;
MongoDB 特点介绍:
学习完第一部分之后,我们对两者数据库都有了一定的认识;接下来去从运维的角度来检验两者的不同;
日常运维管理维度
1.
…<?php use \MongoDB\Client; $host = '192.168.6.1:27018,192.168.6.2:27018'; $database = 'Images'; $bucket = (new \MongoDB\Client('mongodb://'.$host.'/'.$database, [ 'username'=>'admin', 'password'=>'admin', //'ssl' => true, // 'replicaSet' => 'myReplicaSet', 'authSource'=>'admin', ]) )->$database->selectGridFSBucket();…
比如下面的数据结构
{
'field_1': 1,
'field_2': '1',
'field_3': true
}
在脚本语言里,这三个值是相等的,但mongodb可不这样认为,如果你用string
类型去寻找field_1
的值,那么永远找不到。
可是像在php这种弱类型语言里,本来就是string,int傻傻分不清楚,所以使用mongodb的php程序员经常会出现以下杯具场景,你存储的时候主键是一个用函数生成的int
型数字,但取出记录的时候可能直接使用前端传递过来的GET参数,很不巧它只能是一个string类型,这样你就永远找不到这条记录了。
解决以上问题,我觉得一开始就用php7的标量类型约束,最好启用严格模式是个好习惯,这样类型不对了,能有个提示,你就可以进行类型转换了。
转载请注明:http://blog.p2hp.com/archives/4708…
$manager = new MongoDB\Driver\Manager('mongodb://test1:test1@192.168.1.188:27017,192.168.1.187:27017/AppStore?replicaSet=test&safe=true&w=1&wtimeoutMS=300000&authSource=AppStore&ssl=false;');
或者
$options => array("replicaSet" => "test","safe"=>true,"w"=>1,"wtimeoutMS"=>2000,"authSource"=>"AppStore");
$dsn = 'mongodb://test1:test1@192.168.1.188:27017,192.168.1.187:27017';
$mongo =new MongoDB\Driver\Manager($dsn, $options);
linux 命令连接
./mongo -host 192.168.1.188 -u test1 -ptest --authenticationDatabase Test
参考
http://cn2.php.net/manual/en/mongodb-driver-manager.construct.php
https://docs.mongodb.com/manual/reference/connection-string/#connections-connection-options
…
近期评论