PHP MongoDb更新$in数组
从MongoDB命令行我可以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'=>
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
——不确定这是否有帮助。我能够在受控脚本文件中使用上述内容。非常感谢。