php7結合mongoDB插入數據


php7結合mongoDB插入數據

代碼如下:

<?php
$bulk = new MongoDB\Driver\BulkWrite;//1
$document = ['_id' => new MongoDB\BSON\ObjectID, 'name' => '菜鳥教程'];//2

$_id= $bulk->insert($document);

var_dump($_id);//3

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  //4
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//5
$result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern);//6
?>
  1. MongoDB\Driver\BulkWrite收集一個或多個應該被發送到服務器的寫操作,添加任意數量的插入、更新和刪除操作后,可以通過MongoDB\Driver\Manager::executeBulkWrite()執行。

  2. 在MongoDB中,每個存儲在一個集合中的文檔需要一個獨特的_id字段作為主鍵。如果插入的文檔,省去了_id領域,驅動程序會自動生成一個對象id為_id場。

    一個ObjectId BSON型。該值由12個字節,其中前四個字節是個時間戳,反映ObjectId的產生時間。具體而言,價值包括: 一個代表秒的Unix紀元自4字節值, 一個3字節機器標識符, 2字節進程ID,和 一個3字節計數器,開始用一個隨機值

  3. var_dump能打印出類型。

    print_r只能打出值。

    echo()是正常輸出。

        需要精確調試的時候用var_dump();

    一般查看的時候用print_r();

    另外,echo()不能顯示數組,其余2個可以......

  1. MongoDB\Driver\Manager是擴展的主要切入點。它負責維護連接到MongoDB(可以是獨立服務器,復制集,或分片集群)。
  2. MongoDB\Driver\WriteConcern這個是個對mongodb的寫入性能、以及確保數據一致性的控制設置,非常重要的一個類.MongoDB支持的WriteConncern選項如下
  • w: 數據寫入到number個節點才向用客戶端確認
  • {w: 0} 對客戶端的寫入不需要發送任何確認,適用於性能要求高,但不關注正確性的場景
  • {w: 1} 默認的writeConcern,數據寫入到Primary就向客戶端發送確認
  • {w: “majority”} 數據寫入到副本集大多數成員后向客戶端發送確認,適用於對數據安全性要求比較高的場景,該選項會降低寫入性能
  • j: 寫入操作的journal持久化后才向客戶端確認默認為”{j: false},如果要求Primary寫入持久化了才向客戶端確認,則指定該選項為true
  • wtimeout: 寫入超時時間,僅w的值大於1時有效。
  • 當指定{w: }時,數據需要成功寫入number個節點才算成功,如果寫入過程中有節點故障,可能導致這個條件一直不能滿足,從而一直不能向客戶端發送確認結果,針對這種情況,客戶端可設置wtimeout選項來指定超時時間,當寫入過程持續超過該時間仍未結束,則認為寫入失敗。
  • 詳情請見: http://www.mongoing.com/archives/2916
  1. 見1.
  2. 參考自 :http://php.net/manual/en/book.mongodb.php


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM