使用php在mongodb中删除文档的问题


problems with deleting document in mongodb using php

我试图使用php删除mongodb中的文档,但失败了,收到警告:

警告:MongoCollection::remove()要求参数2为布尔值,数组给定

$mongo = new Mongo();
$db = $mongo->test; 
$collection = $db->subscribers;
$collection->remove(array( 'LISTID' => 49));

你能告诉我错误的原因吗?I phpinfo()显示:

mongo
MongoDB Support enabled
Version     1.0.4+
Directive   Local Value Master Value
mongo.allow_persistent  On  On
mongo.auto_reconnect    On  On
mongo.chunk_size    262144  262144
mongo.cmd   $   $
mongo.default_host  localhost   localhost
mongo.default_port  27017   27017
mongo.utf8  1   1

奇怪的是,文档中说这个函数看起来像:

public mixed MongoCollection::remove ( array $criteria [, array $options = array() ] )

您需要指定删除选项:

$collection->remove(array('type' => 94), array("justOne" => true));

有关更多信息,请参阅联机手册

您似乎使用了一个非常旧的版本。来自手动

1.0.5将第二个参数更改为选项数组。在-1.0.5之前,第二个参数是布尔值,表示"justOne"选项,并且没有安全选项。

升级或将代码更改为

$collection->remove(array('LISTID' => 49), false);