首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 擴展 MongoDB 操作符與 CRUD 實戰

     編輯:PHP 綜合知識

MongoDB 操作符對照表

MongoDB 不直接使用 SQL 風格的運算符,而是以特定鍵名表示:

SQLMongoDB說明
>$gt大於
<$lt小於
>=$gte大於等於
<=$lte小於等於
!=$ne不等於
IN$in包含
NOT IN$nin不包含
EXISTS$exists字段是否存在
+$inc數字字段增減
SET$set設定字段值
UNSET$unset刪除字段
PUSH$push向陣列追加值
PUSHALL$pushAll一次追加多值
ADDTOSET$addToSet陣列去重追加
POP$pop移除首/尾元素
PULL$pull移除指定值
PULLALL$pullAll移除多個值

CRUD 核心操作

新增

db.collection->insert(['name' => 'caleng', 'email' => 'admin#admin.com']);

無固定結構限制,字段名可隨意定義。

修改

// 僅更新第一條符合條件的記錄
db.collection.update(['count' => ['$gt' => 1]], ['$set' => ['test2' => 'OK']]);

// 更新所有符合條件記錄 (multi=true)
db.collection.update(['count' => ['$gt' => 3]], ['$set' => ['test2' => 'OK']], false, true);

// upsert=true: 不存在則新增
db.collection.update(['count' => ['$gt' => 4]], ['$set' => ['test5' => 'OK']], true, false);

// upsert=true, multi=true
db.collection.update(['count' => ['$gt' => 5]], ['$set' => ['test5' => 'OK']], true, true);

查詢

// 返回游標(集合列表)
db.collection.find(['name' => 'bailing'], ['email'=>'email@qq.com']);

// 僅返回單一文檔
db.collection.findOne(['name' => 'bailing'], ['email'=>'email@qq.com']);

// 排序、分頁
db.collection.find().sort(['age'=>1]);   // 正序
db.collection.find().sort(['age'=>-1]);  // 倒序
db.collection.count();                   // 總筆數
db.collection.limit(10).skip(0);         // 分頁

刪除

db.collection.remove(['name'=>'jerry']); // 刪除特定文檔
db.collection.drop();                    // 刪除整個集合

去重查詢

db.user.distinct('name', ['age' => ['$lt' => 20]]);
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved