首页 文章资讯内容详情

PHP操作mongoDB 笔记

2026-05-31 2 花语

本文内容纲要:

转自http://blog.csdn.net/black_ox/article/details/22678747

命令也可以在参考http://www.jb51.net/article/51601.htm

这个文档也不错http://www.cnblogs.com/yuechaotian/archive/2013/02/04/2891457.html

mongo操作php官方网站http://php.net/manual/zh/mongo.core.php

这个文章没有看懂,感觉很高大上http://blog.csdn.net/moqiang02/article/details/39493415

php安装mongo流程都差不多,不难。如果php没有正常安装扩展。那90%以上可能是版本不对应。多找多试试就好了

连接mongo

$connection=newMongoClient();//连接到localhost:27017 $connection=newMongoClient("mongodb://example.com");//连接到远程服务器(使用默认端口:27017) $connection=newMongoClient("mongodb://example.com:65432");//链接到远程服务器,使用自定义的端口

这个驱动使用了持久连接,并会在下次试图链接到同一服务器时重用它。

验证

//指定用户名和密码连接URI(首选) $m=newMongoClient("mongodb://${username}:${password}@localhost"); //指定的用户名和密码,选择array $m=newMongoClient("mongodb://localhost",array("username"=>$username,"password"=>$password)); //在连接URI中指定身份验证数据库(首选) $m=newMongoClient("mongodb://${username}:${password}@localhost/myDatabase"); //通过指定的数据库身份验证选项array $m=newMongoClient("mongodb://${username}:${password}@localhost",array("db"=>"myDatabase"));

多个服务器

$m=newMongoClient("mongodb://mongos1.example.com:27017,mongos2.example.com:27017"));

CURD总结

$connection=newMongoClient();//mongo连接 $db=$connection->dbname->runoob;//选择数据库->选择集合 $db->find();//查找集合所有数据 $db->findOne();//查找一条数据 $db->find(array(),array("a"=>1,"b"=>1));//返回a,b字段 $db->find(array("age"=>33));//查找whereage=33的数据 $db->find(array("age"=>array($gt=>33)));//$gt:大于$gte:大于等于$lt:小于$lte:小于等于$ne:不等于 $db->find(array("number"=>array($gt=>1,$lt=>9)));//大于1,小于9 $db->find(array("number"=>array($in=>array(1,2,9))));//等于哪些值 $db->find(array("number"=>array($nin=>array(1,2,9))));//不等于哪些值 $db->find(array($or=>array(array(number=>2),array(number=>9)));//或 $db->find(array("name"=>newMongoRegex("/Joe/")));//nameLIKE"%Joe%" $db->find()->limit(10)->skip(20);//LIMIT10SKIP20 $db->find(array("z"=>3))->explain();//explain $db->sort(array("name"=>1));//1是正序ASC-1是倒序DESC $db->count();//集合的总数 $db->count({"a"=>2});//a=2集合的总数 $db->find()->limit(5)->skip(0)->count(true)//返回条件查询的总数 $db->update(array("b"=>"q"),array("a"=>1));//将整条更新为{a:1}其他的数据都会消失 $db->update(array("b"=>"q"),array($set=>array("a"=>1)));//$set只更新数据中a字段 $db->update(array("b"=>"q"),array($inc=>array("a"=>2)));//UPDATEdbnameSETa=a+2WHEREb=q $db->remove(array("z"=>"abc"));//删除字段z=abc的数据 $db->remove(array("z"=>"abc"),array("justOne"=>true));//justOne删除一条

批量添加文档:(只能循环一条一条加)

for($i=0;$i<100;$i++){ $collection->insert(array(i=>$i,"field{$i}"=>$i*2)); }

返回结果处理

$cursor=$collection->find(); foreach($cursoras$id=>$value){ var_dump($value); }

本文内容总结:

原文链接:https://www.cnblogs.com/zhaoyang-1989/p/7644182.html