>  기사  >  데이터 베이스  >  PHP操作MongoDB数据库详细例子介绍(增、删、改、查)(六)

PHP操作MongoDB数据库详细例子介绍(增、删、改、查)(六)

WBOY
WBOY원래의
2016-06-07 16:03:081403검색

PHP操作mongodb: PHP 要操作mongodb需要打模块 官网可以下载:http://pecl.php.net/package/mongo 下载 mongodb设置成用户授权的启动方式 php手册没有些用户授权方式登陆的方法: conn.php ?php $conn = new Mongo(mongodb://user1:123456@localhost:27017/t

PHP操作mongodb:

PHP 要操作mongodb需要打模块
官网可以下载:http://pecl.php.net/package/mongo 下载

mongodb设置成用户授权的启动方式

php手册没有些用户授权方式登陆的方法:
conn.php
$conn = new Mongo("mongodb://user1:123456@localhost:27017/test"); //用户授权链接mongodb test数据库
$db = $conn->test;
?>

find.php
include "conn.php";
$c1 = $db->c1; //操作c1集合

//由于php里面不能直接用json
//db.c1.find({name:"user1"}); 不能这么玩
//{name:"user1"} == array("name"=>"user1") 用这种形式
//[1,2] == array(1,2);
//{} == array()

$arr=array();
$rst = $c1->find($arr);
foreach($rst as $val){
echo "
";<br>
print_r($val['name']); //取id的话 得"_id"<br>
}<br>
<br>
例子2:指定值查询<br>
$arr = array("name"=>"user1"); //查询nam=user1的<br>
$rst = $c1->find($arr);<br>
foreach($rst as $val){<br>
echo "<pre class="brush:php;toolbar:false">";<br>
$fis = $val['_id'];<br>
print_r($val);<br>
echo "<a href="'user.php?fid=%7B%24fid%7D'"></a>"; //你会发现fid传到user.php的时候变成字符串了,怎么解决?<br>
//user.php 根据_id查mongodb对应的数据<br>
<?php <br />
include "conn.php";<br>
$c1 = $db->c1;<br>
$oid= new MongoId($_GET['fid']); 用这个转一下<br>
var_dump($oid); //还是Object,不转的话就是string类型<br>
<br>
$arr = array("_id"=>"$oid");<br>
$rst = $c1->find($arr);<br>
foreach($rst as $val){<br>
echo "<pre class="brush:php;toolbar:false">";<br>
print_r($val);<br>
}<br>
?><br>
}<br>
<br>
例子3:增加<br>
include "conn.php";<br>
$c1 = $db->c1;<br>
//db.c1.insert({"name"=>"user3",age:30,"sex"=>"nan"});<br>
$arr = array("name"=>"user3","age"=>30,"sex"=>"nan");<br>
if($c1->insert($arr))<br>
echo '成功';<br>
else<br>
echo '失败';<br>
<br>
例子4:删<br>
include "conn.php";<br>
$c1 = $db->c1;<br>
//db.c1.remove({"name"=>"user2"});<br>
$arr = array("name"=>"user2");<br>
if($c1->remove($arr))<br>
echo '删除成功';<br>
else<br>
echo '删除失败';<br>
<br>
例子4:改<br>
include "conn.php";<br>
$c1 = $db->c1;<br>
//db.c1.update({"name"=>"user2"},{$set:{age:20,sex:"nan"}}); 增加字段<br>
$sarr = array("name"=>"user2");<br>
$darr = array('$set'=>array('sex'=>'nan','age'=>24));<br>
$opts = array('upsert'=>0,'multiple'=>1);<br>
if($c1->update($sarr,$darr,$opts)) //php里面的update只能传3个参数<br>
echo '更改成功';<br>
else<br>
echo '更改失败';<br>
<br>
//关闭<br>
$conn->close();<br>
?>						
		



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.