PHP7操作MongoDB增刪改查
阿新 • • 發佈:2018-12-24
說明
BulkWrite 收集將被髮送到服務端的寫入選項
Manager 定義一個聯結器,連線到資料庫
WriteConcern 配置寫入策略,滿足不同寫入需求
executeBulkWrite 真正執行寫入
增
$bulk = new MongoDB\Driver\BulkWrite;
$bulk->insert(['x'=>1,'name'=>'taobao','url'=>'www.taobao.com']);
$bulk->insert(['x'=>2,'name'=>'google','url'=>'www.google.com' ]);
$bulk->insert(['x'=>3,'name'=>'baidu','url'=>'www.baidu.com']);
$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);
$result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern );
查
$manager=new MongoDB\Driver\Manager("mongodb://localhost:27017");
$filter=['x'=>['$gt'=>1]];
$options=[
'projection' => ['_id'=>0],
'sort' => ['x'=>-1],
];
$query=new MongoDB\Driver\Query($filter,$options);
$cursor=$manager->executeQuery('test.runoob' ,$query);
foreach($cursor as $document){
print_r($document);
}
改
$bulk=new MongoDB\Driver\BulkWrite();
$bulk->update(
['x'=>2],
['$set'=>['name'=>'乘風破浪','url'=>'www.hewie.cn']],
['multi'=>false,'upsert'=>false]
);
$manager=new MongoDB\Driver\Manager("mongodb://localhost:27017");
$writeConcern=new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY,1000);
$result=$manager->executeBulkWrite('test.runoob',$bulk,$writeConcern);
刪
$bulk=new MongoDB\Driver\BulkWrite();
$bulk->delete(['x' => 1], ['limit' => 1]);// limit 為 1 時,刪除第一條匹配資料
$bulk->delete(['x' => 2], ['limit' => 0]); // limit 為 0 時,刪除所有匹配資料
$manager=new MongoDB\Driver\Manager("mongodb://localhost:27017");
$writeConcern=new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY,1000);
$result=$manager->executeBulkWrite('test.runoob',$bulk,$writeConcern);