天天看點

php7 使用mongodb,php7操作mongodb

mongodb是一個介于關系型資料庫和非關系型資料庫間的資料庫,而且能夠實作排序等相關的操作,是對redis的一個更新,同時mongodb中的資料庫和mysql的類似,資料庫的集合和redis相似,開啟我們對mongodb的認識吧。

1.插入資料

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$bulk = new MongoDB\Driver\BulkWrite;

$bulk->insert(['name' => 'phptest', 'age' => 27]);

$bulk->insert(['name' => 'phptest1', 'age' => 28]);

//

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可選,修改确認

$res = $manager->executeBulkWrite('flstest.mongo', $bulk, $writeConcern)->getInsertedCount(); //擷取插入成功傳回的條數

echo '

';      

var_dump($res);

2.删除資料

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$bulk = new MongoDB\Driver\BulkWrite;

$bulk->delete(['name' => 'phptest']);

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可選,修改确認

$res = $manager->executeBulkWrite('flstest.mongo', $bulk, $writeConcern)->getDeletedCount(); //擷取成功删除的條數

echo '

';      

var_dump($res);

3.修改資料

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$bulk = new MongoDB\Driver\BulkWrite;

$bulk->update(

['name' => 'phptest'],

['$set' => ['age' => 34, 'promise' => '2222']]

);

$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//可選,修改确認

$res = $manager->executeBulkWrite('flstest.mongo, $bulk, $writeConcern)->getModifiedCount(); //擷取更新的條數

echo '

';      

print_r($res);

4.查詢資料

//資料查詢操作

$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');

$query = new MongoDB\Driver\Query(['age' => 26], ['sort' => ['age' => 1]]);

$cursor = $manager->executeQuery('fls_db.test', $query)->toArray();

foreach($cursor as $doc) {

echo '

';      

var_dump($doc->name,$doc->age);

}

//這裡還不知道怎樣擷取id,下次找到回頭添加進去