我正在尝试将代码转换为访问MongoDB using MongoDB\Driver\Manager: latest MongoDB extension of PHP,但有一些困难。实际上,这个新驱动程序在我看来与前一个驱动程序相比有点低级,所以使用它可能有点复杂......:
$mongoConn = new MongoClient("mongodb://localhost:27017");
$mongoDB = $mongoConn->selectDataBase(dbname1);//dbname2 exists too
...
$index = new MongoDBIndexation($mongoDB);//our class for using
如果可以,我必须从:
开始$mongoConn = new MongoDB\Driver\Manager("mongodb://localhost:27017");
如何继续使用$ mongoDB?
以下是什么:
$collection->remove
$collection->save and
$collection->findOne ?
提前致谢
答案 0 :(得分:7)
您可以使用新的mongo客户端驱动程序,该驱动程序提供与旧版驱动程序类似的所有方法。
找一个例子
require 'vendor/autoload.php';
$m= new MongoDB\Client("mongodb://127.0.0.1/");
$db = $m->db;
$collection = $db->col;
$query = array();
$document = $collection->findOne($query);
如果您想使用driver manager
api
$收藏 - >清除
$bulkWrite=new MongoDB\Driver\BulkWrite;
$filter=array();
$bulkWrite->delete($filter, array('limit'=>1));
$mongoConn->executeBulkWrite('db.col', $bulkWrite);
$收藏 - >保存
插入:
$bulkWrite=new MongoDB\Driver\BulkWrite;
$doc=array();
$bulk->insert($doc);
$mongoConn->executeBulkWrite('db.col', $bulkWrite);
更新
$bulkWrite=new MongoDB\Driver\BulkWrite;
$filter=array();
$update=array('$set' => array());
$options=array('multi' => false, 'upsert' => false);
$bulkWrite->update($filter, $options);
$mongoConn->executeBulkWrite('db.col', $bulkWrite);
$收藏 - > findOne
$filter= array();
$options = array('limit'=>1);
$query = new MongoDB\Driver\Query($filter, $options);
$mongoConn->executeQuery('db.col', $query);