2017-01-25 86 views
0

我有一個腳本上PHP7 \ MongoDB的\驅動程序刪除蒙戈記錄,因爲這

$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); 

我也試過

... 
$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 –

相關問題