PHP的MongoDB驅動中文文檔:https://www.php.cn/manual/view/4.html
PHP的MongoDB驅動官方文檔:https://www.php.net/manual/zh/book.mongodb.php
有些細節都沒寫全,如想學習請閱讀官方文檔!
PHP連接MongoDB:
// 創建連接 $manager = new MongoDB\Driver\Manager('mongodb://localhost:27017'); // MongoDB 寫操作類 $bulk = new MongoDB\Driver\BulkWrite; // 創建一個MongoDB ObjectId,如果傳入的是字符串,它將嘗試將其轉化為ObjectId類型 $id = new MongoDB\BSON\ObjectId();
增刪改查:
// 增 // MongoDB默認將 _id 當作主鍵,如果沒有它會自動創建,所以這里的_id可以不填 $bulk->insert(['_id'=>new MongoDB\BSON\ObjectId, 'name'=>'我是遺失的美好灬', 'age'=>18]); // executeBulkWrite() 執行一個或多個寫操作 參數一 是命名空間( 數據庫.集合),參數二 是寫操作對象 BulkWrite $result = $manager->executeBulkWrite('cxfs.hahah', $bulk);
// 改 /* update()向批量添加更新操作 參數1:filter 過濾器(為空則匹配所有) 參數2:newObj 新對象,包含更新運算符(例如$set)或替換文檔(即只有字段:值表達式)的文檔。 參數3:option [ multi: 如果為FALSE,則僅更新第一個匹配的文檔,為TRUE更新所有匹配的文檔。如果newObj是替換文檔,則此選項不能為TRUE。 upsert:如果過濾器與現有文檔不匹配,請插入單個文檔。如果文檔是替換文檔(即沒有更新操作符),則將從newObj創建該文檔;否則,newObj中的運算符將應用於過濾以創建新文檔 ] */ $bulk->update( ['age'=>19, 'hh'=>2], ['$set' => ['name' => '菜鳥19號']], ['multi' => true, 'upsert' => true] ); $rs = $manager->executeBulkWrite('xxj.runoob', $bulk);
// 刪 $bulk->delete(['age'=>19]); $rs = $manager->executeBulkWrite('xxj.runoob', $bulk);
// 查
//$filter是刪選條件 $filter = []; $query = new MongoDB\Driver\Query($filter); $rs = $manager->executeQuery('xxj.runoob', $query);