use MongoDB\BSON\ObjectId;
use MongoDB\Driver\BulkWrite;
use MongoDB\Driver\Manager;
use MongoDB\Driver\Query;
use MongoDB\Driver\WriteConcern;
$manager = new Manager("mongodb://localhost:27017");
$writeConcern = new WriteConcern(WriteConcern::MAJORITY,1000);
$bulk = new BulkWrite();
//插入数据
$bulk->insert(['_id' => new ObjectID(), 'name' => '教程1']);
$manager->executeBulkWrite('test.runoob', $bulk, $writeConcern);
// 插入数据
$bulk->insert(['x' => 1, 'name'=>'教程', 'url' => 'http://a.com']);
$bulk->insert(['x' => 2, 'name'=>'Google', 'url' => 'http://www.google.com']);
$bulk->insert(['x' => 3, 'name'=>'taobao', 'url' => 'http://www.taobao.com']);
$manager->executeBulkWrite('test.sites', $bulk);
$filter = ['x' => ['$gt' => 1]];
$options = [
'projection' => ['_id' => 0],
'sort' => ['x' => -1],
];
// 查询数据
$query = new Query($filter, $options);
$cursor = $manager->executeQuery('test.sites', $query);
echo "<pre>";
foreach ($cursor as $document) {
print_r($document);
}
//更新数据
$bulk->update(
['x' => 2],
['$set' => ['name' => '工具', 'url' => 'a.com']],
['multi' => false, 'upsert' => false]
);
$writeConcern = new WriteConcern(WriteConcern::MAJORITY,1000);
$result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
var_dump($result);
//删除数据
$bulk->delete(['x' => 1], ['limit' => 1]); // limit 为 1 时,删除第一条匹配数据
$bulk->delete(['x' => 2], ['limit' => 0]); // limit 为 0 时,删除所有匹配数据
$result = $manager->executeBulkWrite('test.sites', $bulk, $writeConcern);
var_dump($result);
exit;