由于項目需要,把項目升級到了php7。但是升級了之后發(fā)現(xiàn)mongo擴展不能用了。php7.0以上只支持mongodb擴展了。而mongodb擴展的驅(qū)動使用起來比monmgo擴展顯得很復雜,啰嗦。在網(wǎng)上找了很久。終于找到了一個比較簡潔的mongodb類。語法跟mongo的差不多。清晰,自然。
項目地址http://github.com/mongodb/mongo-php-library
因為項目是國外友人貢獻的。所以沒有可以看的很明白的文檔。這里整理了一些常用的方法。
獲取實例
$uri = mongodb://username:password@host/database $client = new /MongoDB/Client($uri);
獲取集合
$collection = $client- selectCollection( test , test
獲取一條數(shù)據(jù)
$data = $collection- findOne([ id =
獲取多條數(shù)據(jù)
$where = [ type = $options = array( projection = array( id = 1, age = 1, name = -1), // 指定返回哪些字段 1 表示返回 -1 表示不返回 sort = array( id = -1), // 指定排序字段 limit = 10, // 指定返回的條數(shù) skip = 0, // 指定起始位置$data = $collection- find($where,$options)- toArray();var_dump($data);
去重
$fileName = name $where = [ id = [ $lt = 100]]$ret = $this- collection- distinct($fileName,$where);
插入一條數(shù)據(jù)
$data = array( id = 2, age = 20, name = 張三 $ret = $collection- insertOne($data);$id=$ret- getInsertedId();
批量插入
$data = array( [ id = 1, age = 21, name = 1xiaoli ], [ id = 2, age = 22, name = 2xiaoli ], [ id = 3, age = 23, name = 3xiaoli ], [ id = 4, age = 26, name = 4xiaoli ], [ id = 5, age = 24, name = 5xiaoli ], [ id = 6, age = 25, name = 6xiaoli ],$ret = $collection- insertMany($data);# 返回插入idvar_dump($ret- getInsertedIds());
更新一條
$ret = $collection- updateOne(array( id = 2), array( $set = array( age = 56)));
更新多條
$ret = $collection- updateMany(array( id = [ $gt = 1]), array( $set = array( age = 56, name = x )));
刪除一條
$ret = $collection- deleteOne(array( id = 2));
刪除多條
$collection- deleteMany(array( id = array( $in = array(1, 2))));
聚合
$ops = [ $match = [ type = [ $in = [2,4]]] $sort = [ list.create_time = -1] //sort順序不能變,否則會造成排序混亂,注意先排序再分頁 $skip = 0 $limit = 20000$data = $collection- aggregate($ops);foreach ($data as $document) var_dump($document);}
相關(guān)推薦:
詳解php7如何實現(xiàn)MongoDB模糊查詢
php實現(xiàn)的mongodb操作類,php實現(xiàn)mongodb
以上就是一個php7+mongodb三方類的介紹的詳細內(nèi)容,PHP教程
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。
新聞熱點
疑難解答
圖片精選