• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >MongoDB > PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例

PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了php连接mongodb,php mongodb,php操作mongodb,php mongodb扩展,php安装mongodb扩展等相关知识,希望本文的分享对您有所帮助

PHP 扩展mongon.mod.dll下载http://cn.php.net/manual/en/mongo.installation.php#mongo.installation.windows
然后php.ini添加 extension=php_mongo.dll
最后phpinfo() 查找到


表标PHP已经自带了mongo功能,你就可以操作下面的代码(但是你必须有安装mongodb服务器)

一、连接数据库

使用下面的代码创建一个数据库链接
$connection = new Mongo(mongodb://192.168.1.5:27017); //链接到 192.168.1.5:27017//27017端口是默认的。
$connection = new Mongo( "example.com" ); //链接到远程主机(默认端口)
$connection = new Mongo( "example.com:65432" ); //链接到远程主机的自定义的端口
print_r($connection->listDBs());//能打印出数据库数组,看看有几个数据库。</div>
?>

如图:


上图说有一个数据库名字叫local,总大小1个字节,他是空的。看见ok表示运行成功。

现在你可以使用$connection链接来操作数据库了

选择数据库

使用下面的代码来选择一个数据库
$db = $connection->dbname;
?></div>

这里的数据库并不一定是一个已经存在的数据库,如果所选择的数据库不存在,则会新建一个数据库,所以在选择数据库的时候,注意一定要填上正确的数据库名
如果拼写错误的话,很有可能会新建一个数据库
$db = $connection->mybiglongdbname;
//做一些事情
$db = $connection->mybiglongdbnme;
//现在会连上一个新的数据库
?></div>

获取一个集合

获取一个集合跟选择数据库拥有相同的语法格式
$db = $connection->baz;//选择数据库
$collection = $db->foobar;//选择foobar集合
//或者使用更简洁的方式
$collection = $connection->baz->foobar;
?></div>

插入一个文档

多维数组是可以被储存到数据库中的基本单元
一个随机的文档可能是这样
$doc = array(
 ”name” => “MongoDB”,
    “type” => “database”,
    “count” => 1,
    “info” => (object)array( “x” => 203,
    “y” => 102),
    “versions” => array(“0.9.7″, “0.9.8″, “0.9.9″)
);
?></div>

注意:你可以嵌套数组与对象,对象与文档在mongodb中几乎是一样的,你可以使用$doc调用一个文档或对象,但是info字段总是一个对象而不是一个文档,
本约束适用于所有文档
使用MongoCollection::insert()插入一个文档
$m = new Mongo();
$collection = $m->foo->bar;
$collection->insert($doc);
?></div>

mongodb 的 insert()、save()  ,区别主要是:若存在主键,insert()  不做操作,而save() 则更改原来的内容为新内容。
存在数据:  { _id : 1, " name " : " n1 " }
insert({ _id : 1, " name " : " n2 " })    会提示错误
save({ _id : 1, " name " : " n2 " })     会把 n1 改为  n2  。

使用MongoCollection::findOne()查询文档

为了证明上面那段代码的数据已经插入到数据库里了,我们进行简单的 findOne()操作以得到集合中的第一个文档数据,这种方法只返回一个文档数据,
这种方法适用于在你的查询语句的时候只匹配一个文档或者你只关心第一条数据
$obj = $collection->findOne();
var_dump( $obj );
?></div>

你会看到下列结果
  ["_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) “0.9.7″
    [1]=>
    string(5) “0.9.8″
    [2]=>
    string(5) “0.9.9″
  }
}</div>
注意_id字段自动加载了文档上,MongoDB储存元素中以_以及$开头的都是供内部使用的

添加更多文档

为了做一些更有趣的事情,我们添加更多简单的文档到集合中,这些文档如下
array( “i” => value );
?></div>
我们可以使用循环相当有效的插入数据
for($i=0; $i<100; $i++) {
    $collection->insert( array( “i” => $i ) );
}
?></div>

注意:我们可以插入不同的字段在同一字符集中,在这方面意味着MongoDB拥有非常自由的储存模式

在一个集合中计算文档的数量

现在我们插入了101个文档(我们用循环插入了100个,之前还插入了一个),我们可以使用count()来看看我们的数据是不是都被插入进去了
<?php
echo $collection->count();
?></div>
这段代码将打印出101

MongoCollection::count() 也可以查询字段数据

使用游标得到集合中的所有文档

为了得到集合中的所有文档,我

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • PHP库 查询Mongodb中的文档ID的方法
  • mongodb+php实现简单的增删改查
  • PHP中安装使用mongodb数据库
  • PHP中的mongodb group操作实例
  • MongoDB的PHP驱动方法与技巧
  • PHP中MongoDB数据库的连接、添加、修改、查询、删除等操作实例
  • 高效mongodb的php分页类(不使用skip)

相关文章

  • 2017-05-11C#实现窗体中的各个控件同比自动放缩大小
  • 2017-05-11mongodb中随机获取1条记录的实现方法
  • 2017-05-11MongoDB简介 MongoDB五大特色
  • 2017-05-11CentOS 6.5系统中使用yum安装MongoDB 2.6 教程
  • 2017-05-111亿条记录的MongoDB数据库随机查询性能测试
  • 2017-05-11解决mongodb在ubuntu下启动失败,提示couldn‘t remove fs lock errno:9 Bad file descriptor的错误
  • 2017-05-11MongoDB 常用命令总结
  • 2017-05-11MongoDB实现基于关键词的文章检索功能(C#版)
  • 2017-05-11如何对 MongoDB 进行性能优化(五个简单步骤)
  • 2017-09-02Mongo集群搭建

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • Mongodb增加、移除Shard Server实例
    • mongodb常用语句
    • MongoDB快速翻页的方法
    • Mongo管理用户相关操作总结
    • mongodb使用心得简单总结
    • MongoDB修改、删除文档的域属性实例
    • windows下mongodb安装与使用图文教程(整理)
    • MongoDB中的一些坑(最好不要用)
    • MongoDB中游标的深入学习
    • 记一次MongoDB性能问题(从MySQL迁移到MongoDB)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有