2017-01-25 51 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 –

相关问题