1

我正在尝试在所有具有“标题”的条目中更新并插入一条名为“已启用”的记录

{
     "_id": ObjectId("50310c48ba76882419000001"),
     "title": "XKCD",
     "online": true
}   
{
     "_id": ObjectId("50310c48ba76882419000000"),
     "title": "Calvin and Hobbes",
     "author": "Bill Watterson"
}   

这是我的尝试,但我似乎遇到了一些问题。
当我运行它时,什么也没有发生。
任何帮助,将不胜感激

$mongo = new Mongo();
$db = $mongo->mydb;
$col = $db->members;

$query = array('title'=>array('$exist' => true));
$col->update($query, array('enabled' => '0' ));
4

1 回答 1

3

我认为您的问题在这里存在:

$col->update($query, array('enabled' => '0' ));

这实际上会将除不可变字段之外的所有_id字段替换为enabled: 0. 尝试$set运算符:

$col->update($query, array('$set' => array('enabled' => '0' )), array('multiple' => true));

http://www.mongodb.org/display/DOCS/Updating#Updating-%24set

于 2012-08-25T23:11:09.817 回答