PHP MongoDb更新$in数组

PHP MongoDb更新$in数组,php,mongodb,syntax,Php,Mongodb,Syntax,从MongoDB命令行我可以 db.user.update({userid: {$in: [435707147,88513850,466518582]}},{$unset: {f1 : 1}}) 这将从数据库中的所有user对象中删除变量f1。如何将其转换为PHP语法 I以下运行没有错误,但没有对数据库进行任何更改 $db->user->update(array("userid"=>array('$in'=>$ids)), array('$unset'=>

从MongoDB命令行我可以

db.user.update({userid: {$in: [435707147,88513850,466518582]}},{$unset: {f1 : 1}})
这将从数据库中的所有user对象中删除变量f1。如何将其转换为PHP语法

I以下运行没有错误,但没有对数据库进行任何更改

$db->user->update(array("userid"=>array('$in'=>$ids)), 
    array('$unset'=> array("f1"=>1)));

您是否设置了
$ids=array(43570714788513850466518582)

您可能还需要使用
'multiple'=>true
一次更新所有这些选项:

$db->user->update(array("userid"=>array('$in'=>$ids)), 
   array('$unset'=> array("f1"=>true)), 
   array('multiple'=>true));

Wes是正确的,您可能希望使用
'multiple'=>true
。如果$in查询仍然没有返回任何结果,请确保
$ids
中的元素是整数而不是字符串(尝试对每个元素调用
gettype()

应该添加这一点,是的$ids是一个数组。我试过多次,也试过不试。这里很难理解。试着用
$in
进行一个简单的查找,看看是否可以先让它工作。我将我的
$unset
数组更新为使用
true
而不是
1
——不确定这是否有帮助。我能够在受控脚本文件中使用上述内容。非常感谢。