簡體   English   中英

PHP 7的MongoDB集合插入

[英]php 7 mongodb collection insert

我們已經安裝了php mongo ext,然后也設置了作曲家。

https://github.com/alcaeus/mongo-php-adapter

在我的PHP代碼中,我這樣做:

require_once 'vendor/autoload.php';

$m = new MongoDB\Client("mongodb://host1,host2",  array ('replicaSet' => 'host-set-01'));
$document = array(....);
$db->mycollection->insert($document);

它返回此錯誤:

PHP致命錯誤:未捕獲錯誤:調用未定義方法MongoDB \\ Collection :: insert()

但是在適配器的文件夾中,我確實在該集合類Mongo / MongoCollection.php中看到了insert()

任何人都可以使用mongodb / adapter嗎?

嘗試改用insertOne()insertMany()

這可能對您有幫助:

$mongo = new MongoDB\Driver\Manager("mongodb://localhost:27017");    
    $bulk = new MongoDB\Driver\BulkWrite;

    $doc = array(
        'id'      => new MongoDB\BSON\ObjectID,     #Generate MongoID
        'name'    => 'harry',
        'age'     => 14,
        'roll_no' => 1  
    );

    $bulk->insert($doc);
    $mongo->executeBulkWrite('schooldb.student', $bulk);    # 'schooldb' is database and 'student' is collection.

在這里,通過使用BulkWriter,您可以對一個或多個文檔進行插入,更新和刪除操作。

您鏈接到的庫中的客戶端( https://github.com/alcaeus/mongo-php-adapter )是\\MongoClient ,而不是MongoDB\\Client

Mongo/MongoCollection.php類是\\MongoCollection ,而不是您的錯誤所建議的MongoDB\\Collection

我認為您嘗試使用的是Mongo的PHP擴展版本,而不是已鏈接到的庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM