
怎么连接mongo数据库
1在这里使用的是MongoVUE进行连接,安装完成mongo客户端后,点击mongo的图标,启动运行程序
2打开面板后在界面的左上角有一个可点击的菜单connect连接按钮,这里相信不用我说读者就知道。
3点击后,显示出配置的连接数据库会话名。
4读者需要选择一个数据库的连接,然后点击下方的Connect连接
5如果读者没有配置连接需要点击下图红色方框选中的“”号,点击进行创建一个连接。
6下面就是配置数据库的连接信息,IP、端口、口令等
7连接进入后可以看到对应的数据库中所有的表,将鼠标移至需要的表格,然后鼠标右键,选择view(视图)
8打开后选择第二个视图--TableView,表格视图,就可以看到数据库表中的数据和字段名称。
概念
一定范围的集合,确定的,可分辨的东西,作为一个整体来看,被称为集,称为集,其中,每个组元素或一种叫做短元件。不同的人物,如阿Q(1)真实的故事出现在(2)全部为大写字母。任何集合是它自己的子集的关系
收集要素:
集“归属感”和元素之间的关系“不属于”两种。分类
集合:
工会:属于A或B的元素是属于集合的元素被称为A和B(套),表示A∪B(或B∪A),读作“A和B”(或“B和A”),即A∪B= {X |x∈A,或x∈B}
路口:属于A和B是属于元素集合的元素称为A和B的薪酬(套),表示A∩B(或B∩A),读作“A交B”(或“B交A”),即A∩B= {X |x∈A,和x∈ B}
的区别:不属于A和B的一部分元素的元素集合称为差(套)
说明A和B:空集包含于任何集合,但不能说“空集属于任何集合“。
某些特定的对象集合在一起,就成为一个集合包含的元素叫做有限集包含的元素称为无限集合无限数量有限数,空集是不含任何元素的集合,记Φ。空集是任何集合的一个子集是真正的任何非空集的子集,没有集合是本身所有真正传递的一个子集的一个子集的一个子集。
“解释:如果所有的元素都同时设置B元素的集合,则A被称为B的一个子集,编写的B如果A是B的一个子集,而A不等于B,?则A被称为B的真子集,编写的B
集所有男人都是集自然“
集合中的所有真子集:?
确定性:可确定每个对象是不元素的集合,没有肯定它不能被设置,如“高同学”,“小的数字”不能构成的集合。
变化:任何两个元素的集合是不同的对象。不能被写为{1,1,2},{1,2}应写入。
障碍:{A,B,C} {C,B,A}是同一个集合。
设置具有以下性质:如果A是包含在B,那么A∩B= A,A∪B=表示B
集合:枚举法常用和描述方法。
1枚举法:用于每个有限集,该集列表出来的所有元素,写在括号内,这种表示被称为组枚举法。 {1,2,3,}
2描述法:常用的集合用来表达无限的,对文字,符号或公式,等集合中的共同财产元素描述,写在括号,其中的方法代表了一个名为描述方法的集合。 {X | P}(X为P为这个集合的共同财产元素的一般形式的集合中的元素),如:正实数少于π的集合,表示为:{X | 0 < X <π}
3的图式法:为了表达集合的形象,我们常常画一条封闭的曲线(或圆),用收集其内部表示。使用的符号
号码设定:
(1)中的所有非负整数的集合通常被称为一个非负整数(或一组自然数),表示为N
( 2)内的一组非负整数排除设置为0,也称为正整数,以N +表示的(或N )
(3)组所有整数,通常称为整数集,表示由Z
(4)收集所有有理数通常称为集有理数,由Q
表示为(5)设定的所有实数的,通常被称为实数集,表示通过计算点击看详细收集:1。
交换
A∩B=B∩A
A∪B=B∪A
2关联
(A∩B)∩C=A∩(B∩C)
(A∪B)∪C=A∪(B∪C)
3分配
A∩(B∪C) =(A∩B)∪(A∩C)
A∪(B∩C)=(A∪B)∩(A∪C)的
2日摩根法律
铯(A ∩B)=CsA∪CsB
铯(A∪B)=CsA∩CsB
3“容斥原理”
在收集的学习,遇到涉及人数问题集合中的元素,我们限制在集合A的元素数,记为卡(A)中。例如,A = {A,B,C},卡(A)= 3
卡(A∪B)=卡(A)+卡(B)-card(A∩B) BR>卡(A∪B∪C)=卡(A)+卡(B)+卡(C)-card(A∩B)-card(B∩C)-card(C∩A)+卡(A ∩B∩C)
1985年德国数学家,集合论,领唱者的创始人所讲的道集合,援引的法律,法律是描述收集的常用方法。点击看详细吸收法
A∪(A∩B)= A
A∩(A∪B)= A
补充法律
A∪CsA= S
A∩CsA=Φ点击看详细聚焦
理解藏品,藏品的性质,元素的集合,它们之间的关系代表的概念。子
收集,运送,以及相配套的意义和用法。掌握术语和符号,用准确的表示语言,研究收集,处理有关数学问题。
[难度]
的集合的概念的含义以及这些概念和它们之间的链路之间的差别。
准确的了解使用更多的新概念,新符号的处理数学问题。
表标PHP已经自带了mongo功能,你就可以 *** 作下面的代码(但是你必须有安装mongodb服务器)
一、连接数据库
使用下面的代码创建一个数据库链接
复制代码 代码如下:
<php
$connection = new Mongo(mongodb://19216815:27017); //链接到 19216815:27017//27017端口是默认的。
$connection = new Mongo( "examplecom" ); //链接到远程主机(默认端口)
$connection = new Mongo( "examplecom:65432" ); //链接到远程主机的自定义的端口
print_r($connection->listDBs());//能打印出数据库数组,看看有几个数据库。
>
如图:
上图说有一个数据库名字叫local,总大小1个字节,他是空的。看见ok表示运行成功。
现在你可以使用$connection链接来 *** 作数据库了
选择数据库
使用下面的代码来选择一个数据库
复制代码 代码如下:
<php
$db = $connection->dbname;
>
这里的数据库并不一定是一个已经存在的数据库,如果所选择的数据库不存在,则会新建一个数据库,所以在选择数据库的时候,注意一定要填上正确的数据库名
如果拼写错误的话,很有可能会新建一个数据库
复制代码 代码如下:
<php
$db = $connection->mybiglongdbname;
//做一些事情
$db = $connection->mybiglongdbnme;
//现在会连上一个新的数据库
>
获取一个集合
获取一个集合跟选择数据库拥有相同的语法格式
复制代码 代码如下:
<php
$db = $connection->baz;//选择数据库
$collection = $db->foobar;//选择foobar集合
//或者使用更简洁的方式
$collection = $connection->baz->foobar;
>
插入一个文档
多维数组是可以被储存到数据库中的基本单元
一个随机的文档可能是这样
复制代码 代码如下:
<php
$doc = array(
”name” => “MongoDB”,
“type” => “database”,
“count” => 1,
“info” => (object)array( “x” => 203,
“y” => 102),
“versions” => array(“097″, “098″, “099″)
);
>
注意:你可以嵌套数组与对象,对象与文档在mongodb中几乎是一样的,你可以使用$doc调用一个文档或对象,但是info字段总是一个对象而不是一个文档,
本约束适用于所有文档
使用MongoCollection::insert()插入一个文档
复制代码 代码如下:
<php
$m = new Mongo();
$collection = $m->foo->bar;
$collection->insert($doc);
>
mongodb 的 insert()、save() ,区别主要是:若存在主键,insert() 不做 *** 作,而save() 则更改原来的内容为新内容。
存在数据: { _id : 1, " name " : " n1 " }
insert({ _id : 1, " name " : " n2 " }) 会提示错误
save({ _id : 1, " name " : " n2 " }) 会把 n1 改为 n2 。
使用MongoCollection::findOne()查询文档
为了证明上面那段代码的数据已经插入到数据库里了,我们进行简单的 findOne() *** 作以得到集合中的第一个文档数据,这种方法只返回一个文档数据,
这种方法适用于在你的查询语句的时候只匹配一个文档或者你只关心第一条数据
复制代码 代码如下:
<php
$obj = $collection->findOne();
var_dump( $obj );
>
你会看到下列结果
复制代码 代码如下:
array(5) {
["_id"]=>
object(MongoId)#6 (0) {
}
["name"]
string(7) “MongoDB”
["type"]=>
string(8) “database”
["count"]=>
int(1)
["info"]=>
array (2) {
["x"]=>
int(203)
["y"]=>
int(102)
}
["versions"]
array(3) {
[0]=>
string(5) “097″
[1]=>
string(5) “098″
[2]=>
string(5) “099″
}
}
注意_id字段自动加载了文档上,MongoDB储存元素中以_以及$开头的都是供内部使用的
添加更多文档
为了做一些更有趣的事情,我们添加更多简单的文档到集合中,这些文档如下
复制代码 代码如下:
<php
array( “i” => value );
>
我们可以使用循环相当有效的插入数据
复制代码 代码如下:
<php
for($i=0; $i<100; $i++) {
$collection->insert( array( “i” => $i ) );
}
>
注意:我们可以插入不同的字段在同一字符集中,在这方面意味着MongoDB拥有非常自由的储存模式
在一个集合中计算文档的数量
现在我们插入了101个文档(我们用循环插入了100个,之前还插入了一个),我们可以使用count()来看看我们的数据是不是都被插入进去了
复制代码 代码如下:
<php
echo $collection->count();
>
这段代码将打印出101
MongoCollection::count() 也可以查询字段数据
使用游标得到集合中的所有文档
为了得到集合中的所有文档,我们可以使用 MongoCollection::find()方法,find()方法返回一个 MongoCursor对象,可以让我们重复得到查询所匹配的的文档
复制代码 代码如下:
<php
$cursor = $collection->find();
foreach ($cursor as $id => $value) {
echo “$id: “;
var_dump( $value );
}
>
这样我们会打印出集合中的这101个文档,$id就是文档中的_id字段,$value 就是文档本身
为查询规定一个标准
我们可以通过find()方法得到集合中的文档子集,例如,我们要查询出集合中i字段为71的文档,我们可以使用下列方法
复制代码 代码如下:
<php
$query = array( “i” => 71 );
$cursor = $collection->find( $query );
while( $cursor->hasNext() ) {
var_dump( $cursor->getNext() );
}
>
我们将打印如下数据
复制代码 代码如下:
array(2) {
["_id"]=>
object(MongoId)#6 (0) {
}
["i"]=>
int(71)
["_ns"]=>
“testCollection”
}
为查询设定一个范围
我们可以通过find()创建一个查询语句以得集合中的一个子集,例如如果我们得到所有”i”>50的文档,我们可以使用如下代码
复制代码 代码如下:
<php
$query = array( “i” => array(‘$gt' =>50)); //注意'$gt'两边的单引号
$cursor = $coll->find( $query );
while( $cursor->hasNext() ) {
var_dump( $cursor->getNext() );
}
>
我们同样可以得到20 < i <= 30之间的数据
复制代码 代码如下:
<php
$query = array( “i” => array( “\$gt” => 20, “\$lte” => 30 ) );
$cursor = $coll->find( $query );
while( $cursor->hasNext() ) {
var_dump( $cursor->getNext() );
}
>
我们非常容易漏掉$美元符号,你也可以选择你自定义的符号来代替美元符号,选择一个不会在你的建里面出现的符号例如”:”,在phpini中加上这么一句话
复制代码 代码如下:
mongocmd = “:”
那么上面的代码就可以替换成
复制代码 代码如下:
<php
$query = array( “i” => array( “:gt” => 20, “:lte” => 30 ) );
>
当然你也可以使用ini_set(“mongocmd”, “:”)的方法来改变
创建一个索引
MongoDB支持索引,并且可以很容易的加到一个集合中,你只要指定某个字段为索引就行了,并且还可以指定 正序索引(1)与 倒序索引(-1)
下面的代码为I创建了索引
复制代码 代码如下:
<php
$coll->ensureIndex( array( “i” => 1 ) ); //在”i”上创建了一个索引
$coll->ensureIndex( array( “i” => -1, “j” => 1 ) );//在”i”上创建了倒序索引 在”j”上创建了正序索引
>
一个完整的简单例子
这个例子展示了如何链接mongodb数据库,如何选择数据库,如何插入数据,如何查询数据,以及关闭数据库链接
复制代码 代码如下:
<php
//链接
$m = new Mongo();
// 选择一个数据库
$db = $m->comedy;
$collection = $db->cartoons;
//添加一个元素
$obj = array( "title" => "Calvin and Hobbes", "author" => "Bill Watterson" );
$collection->insert($obj);
//修改
$newdata = array('$set' => array("title" => "Calvin and Hobbes"));
$collection->update(array("author" => "caleng"), $newdata);
//删除
$collection->remove(array('author'=>'caleng'), array("justOne" => true));
//添加另一个元素,使用不同的格式
$obj = array( "title" => "XKCD", "online" => true );
$collection->insert($obj);
//查询所有的集合
$cursor = $collection->find();
//重复显示结果
foreach ($cursor as $obj) {
echo $obj["title"] "\n";
}
// 关闭链接
$m->close();
>
输出结果为
复制代码 代码如下:
Calvin and Hobbes
XKCD
MongoDB是由10gen团队开发的基于分布式存储的开源数据库系统,使用C++编写。MongoDB作为一个文档型数据库,其中数据以键值对的方式来存储。
下面我们来看下MogoDB的基本使用方法。
1、连接MongoDB数据库
使用如下命令来连接MongoDB数据库
mongo
连接MongoDB数据库
2、查看目前所使用的数据库。
在MongoDB中,想查看使用的是哪个数据库,可以使用如下命令来查看。
db
查看所使用的数据库
3、查看有哪些数据库。
在MongoDB中存在着许多个数据库,对于有哪些数据库,可以使用如下命令来查看。
show db
查看MongoDB中所有的数据库
4、创建数据库。
现阶段所存在的数据库如果不能满足要求,可以使用如下命令来创建新的数据库。
use database_name
其中database_name则代表所要创建的数据库名字,下面将演示创建一个名为offcn的数据库。
use offcn
创建offcn数据库
5、删除数据库
当数据库没有作用时,可以将数据库删除从而释放所占用的空间资源。使用如下命令来进行对数据库进行删除,在删除前应该先选中所要删除的数据库。
use offcn
dbdropDatabase()
删除数据库
(1)MySQL数据库:
属于关系型数据库。
在不同的引擎上有不同的存储方式。
查询语句是使用传统的sql语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,mysql的份额页在持续增长。
缺点就是在海量数据处理的时候效率会显著变慢。
(2)Mongodb数据库:
非关系型数据库(nosql ),属于文档型数据库。先解释一下文档的数据库,即可以存放xml、json、bson类型系那个的数据。这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。
存储方式:虚拟内存+持久化。
查询语句:是独特的Mongodb的查询方式。
适合场景:事件的记录,内容管理或者博客平台等等。
架构特点:可以通过副本集,以及分片来实现高可用。
数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
成熟度与广泛度:新兴数据库,成熟度较低,Nosql数据库中最为接近关系型数据库,比较完善的DB之一,适用人群不断在增长。
分析一下Mysql和Mongodb应用场景
1如果需要将mongodb作为后端db来代替mysql使用,即这里mysql与mongodb 属于平行级别,那么,这样的使用可能有以下几种情况的考量: (1)mongodb所负责部分以文档形式存储,能够有较好的代码亲和性,json格式的直接写入方便。(如日志之类) (2)从data models设计阶段就将原子性考虑于其中,无需事务之类的辅助。开发用如nodejs之类的语言来进行开发,对开发比较方便。 (3)mongodb本身的failover机制,无需使用如MHA之类的方式实现。
2将mongodb作为类似redis ,memcache来做缓存db,为mysql提供服务,或是后端日志收集分析。 考虑到mongodb属于nosql型数据库,sql语句与数据结构不如mysql那么亲和 ,也会有很多时候将mongodb做为辅助mysql而使用的类redis memcache 之类的缓存db来使用。 亦或是仅作日志收集分析。
参考原文:>
以上就是关于怎么连接mongo数据库(连接mongodb)全部的内容,包括:怎么连接mongo数据库(连接mongodb)、如何在MongoDB中建立新数据库和集合、mongodb 3.2怎么在php中连接等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)