2017-01-25 9 views
0

私はこの

$db = new \MongoDB\Driver\Manager("......."); 
$bulk = new \MongoDB\Driver\BulkWrite; 
$bulk->delete(["_id":"5887e6fda69ca3797f74a4fd"], ['limit' => 1]); 
$writeConcern = new \MongoDB\Driver\WriteConcern(\MongoDB\Driver\WriteConcern::MAJORITY, 1000); 
$result = $db->executeBulkWrite('theplace.here', $bulk, $writeConcern); 

としてPHP7 \ MongoDBの\ドライバーにMongoのレコードを削除するスクリプトを持って、私はまた

... 
$bulk->delete(["_id.$oid":"5887e6fda69ca3797f74a4fd"], ['limit' => 1]); 
... 
を試してみました

これは、私が送信するフィールドのすべてに対して動作します。削除します...エラーを投げずに無視していた場合のように、_id _id。$ oidを削除したいときにはうまくいきません。

本当にありがとうございました。

答えて

0

_idとObjectId値を一致させるときは、MongoDB \ BSON \ ObjectIDを使用する必要があります。文字列とたObjectIdは直接比較できないよう:これは完璧に働い

$bulk->delete(
    ["_id": new MongoDB\BSON\ObjectID("5887e6fda69ca3797f74a4fd")], 
    ['limit' => 1] 
); 
+0

、この答えはあなたを助けている場合、それを受け入れてください –

+0

ありがとうございました。あなたはここでそれを行う方法を読むことができますhttp://stackoverflow.com/help/accepted-answer –

関連する問題