国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

推薦一個php7+ mongodb三方類

U2FsdGVkX1x / 2404人閱讀

摘要:由于項目需要,把項目升級到了。但是升級了之后發現擴展不能用了。以上只支持擴展了。而擴展的驅動使用起來比擴展顯得很復雜,啰嗦。終于找到了一個比較簡潔的類。項目地址因為項目是國外友人貢獻的。這里整理了一些常用的方法。

由于項目需要,把項目升級到了php7。但是升級了之后發現mongo擴展不能用了。php7.0以上只支持mongodb擴展了。而mongodb擴展的驅動使用起來比monmgo擴展顯得很復雜,啰嗦。在網上找了很久。終于找到了一個比較簡潔的mongodb類。語法跟mongo的差不多。清晰,自然。

項目地址https://github.com/mongodb/mongo-php-library

因為項目是國外友人貢獻的。所以沒有可以看的很明白的文檔。這里整理了一些常用的方法。

獲取實例
$uri = "mongodb://username:password@host/database";
$client = new MongoDBClient($uri);
獲取集合
$collection = $client->selectCollection("test","test");
獲取一條數據
$data = $collection->findOne(["id"=>1]);
獲取多條數據
$where = ["type"=>1];
$options = array(
    "projection" => array("id" => 1, "age" => 1, "name" => -1), // 指定返回哪些字段 1 表示返回 -1 表示不返回
    "sort" => array("id" => -1), // 指定排序字段
    "limit" => 10, // 指定返回的條數
    "skip" => 0, // 指定起始位置
);
$data = $collection->find($where,$options)->toArray();
var_dump($data);
去重
$fileName = "name";
$where = ["id" => ["$lt" => 100]]
$ret = $this->collection->distinct($fileName,$where);
插入一條數據
$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);
# 返回插入id
var_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);
}

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29397.html

相關文章

  • 推薦一個php7+ mongodb三方

    摘要:由于項目需要,把項目升級到了。但是升級了之后發現擴展不能用了。以上只支持擴展了。而擴展的驅動使用起來比擴展顯得很復雜,啰嗦。終于找到了一個比較簡潔的類。項目地址因為項目是國外友人貢獻的。這里整理了一些常用的方法。 由于項目需要,把項目升級到了php7。但是升級了之后發現mongo擴展不能用了。php7.0以上只支持mongodb擴展了。而mongodb擴展的驅動使用起來比monmgo擴...

    Worktile 評論0 收藏0
  • 升級PHP7 jenssegers/mongodb expected to be a referen

    摘要:上的擴展有兩個,都是官方出品的,一個叫,一個是,前者已經被官方廢棄,不再提供穩定的更新,官方推薦使用后者,并且后者是支持的。在上搜索即可找到,也可以通過安裝。使用作為中間件,不用修改現有代碼。 pecl上的mongodb擴展有兩個,都是官方出品的,一個叫mongo,一個是mongodb,前者已經被官方廢棄,不再提供穩定的更新,官方推薦使用后者,并且后者是支持php7的。在pecl上搜索...

    BicycleWarrior 評論0 收藏0
  • 升級PHP7 jenssegers/mongodb expected to be a referen

    摘要:上的擴展有兩個,都是官方出品的,一個叫,一個是,前者已經被官方廢棄,不再提供穩定的更新,官方推薦使用后者,并且后者是支持的。在上搜索即可找到,也可以通過安裝。使用作為中間件,不用修改現有代碼。 pecl上的mongodb擴展有兩個,都是官方出品的,一個叫mongo,一個是mongodb,前者已經被官方廢棄,不再提供穩定的更新,官方推薦使用后者,并且后者是支持php7的。在pecl上搜索...

    tangr206 評論0 收藏0
  • PHP新手開發者的路線建議

    摘要:年開發者應該熟練使用,并且知道版本更新內容。對開發和運維人員來說,最希望的就是一次性創建或配置,可以在任意地方正常運行。是標準規范,是開發的實踐標準。對開發者來說語言推薦和,全棧的選擇非常多,推薦熱門的 前言 在前天(2018-08-02)已經發布了PHP 7.3.0.beta1 Released 如果你還沒有使用 PHP7 ,那真的很遺憾。2018年PHP開發者應該熟練使用 PHP7...

    klinson 評論0 收藏0
  • 升級PHP7操作MongoDB

    摘要:在及以前,官方提供了兩個擴展,和,其中是對以等幾個核心類為基礎的類群進行操作,封裝得很方便,所以基本上都會選擇擴展。這種想法很違背簡化操作帶來的語法問題而專注邏輯優化的思路。 前言 使用 PHP+MongoDB 的用戶很多,因為 MongoDB 對非結構化數據的存儲很方便。在 PHP5 及以前,官方提供了兩個擴展,Mongo 和 MongoDB,其中 Mongo 是對以 MongoCl...

    hizengzeng 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<