PHP操作MongoDB資料庫詳細例子介紹(增、刪、改、查) (六)

來源:互聯網
上載者:User

標籤:php操作mongodb資料庫增刪改查

PHP操作mongodb:

PHP 要操作mongodb需要打模組
官網可以下載:http://pecl.php.net/package/mongo 下載

mongodb設定成使用者授權的啟動方式

php手冊沒有些使用者授權方式登陸的方法:
conn.php
<?php
$conn = new Mongo("mongodb://user1:[email protected]:27017/test"); //使用者授權連結mongodb test資料庫
$db = $conn->test;
?>

find.php
<?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 "<pre>";
print_r($val[‘name‘]);  //取id的話  得"_id"
}


例子2:指定值查詢
$arr = array("name"=>"user1");  //查詢nam=user1的
$rst = $c1->find($arr);
foreach($rst as $val){
echo "<pre>";
$fis = $val[‘_id‘];
print_r($val);  
echo "<a href=‘user.php?fid={$fid}‘></a>";   //你會發現fid傳到user.php的時候變成字串了,怎麼解決?
//user.php   根據_id查mongodb對應的資料
<?php
include "conn.php";
$c1 = $db->c1;
$oid= new MongoId($_GET[‘fid‘]); 用這個轉一下
var_dump($oid);  //還是Object,不轉的話就是string類型

$arr = array("_id"=>"$oid");  
$rst = $c1->find($arr);
foreach($rst as $val){
echo "<pre>";
print_r($val); 
}
?>
}


例子3:增加
include "conn.php";
$c1 = $db->c1;
//db.c1.insert({"name"=>"user3",age:30,"sex"=>"nan"});
$arr = array("name"=>"user3","age"=>30,"sex"=>"nan");
if($c1->insert($arr))
echo ‘成功‘;
else
echo ‘失敗‘;




例子4:刪
include "conn.php";
$c1 = $db->c1;
//db.c1.remove({"name"=>"user2"});
$arr = array("name"=>"user2");
if($c1->remove($arr))
echo ‘刪除成功‘;
else
echo ‘刪除失敗‘;




例子4:改
include "conn.php";
$c1 = $db->c1;
//db.c1.update({"name"=>"user2"},{$set:{age:20,sex:"nan"}}); 增加欄位
$sarr = array("name"=>"user2");
$darr = array(‘$set‘=>array(‘sex‘=>‘nan‘,‘age‘=>24));
$opts = array(‘upsert‘=>0,‘multiple‘=>1);
if($c1->update($sarr,$darr,$opts))  //php裡面的update只能傳3個參數
echo ‘更改成功‘;
else
echo ‘更改失敗‘;

//關閉
$conn->close();
?>



PHP操作MongoDB資料庫詳細例子介紹(增、刪、改、查) (六)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.