是否可以将mongoDB中的更新查询限制为特定限制?

时间:2013-01-19 17:48:52

标签: php sql mongodb updates

我想将mongoDB集合中的记录更新为固定限制。有没有办法在PHP / mongoDB中做到这一点?

我很清楚'multi'旗帜。当multi设置true时,它将更新所有匹配的记录,否则只更新一条记录。

但我需要的是,我想将集合中的记录更新为SQL中的固定限制。

离。 UPDATE table SET x=10 wher x=1 LIMIT 10

我想知道是否可以使用mongoDB?

希望我对我的问题很清楚。任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:2)

目前无法从您的应用程序将更新查询(仅查找查询)限制为MongoDB。

目前执行此操作的最佳方法是在PHP应用程序中将这十个(或其他)客户端拉出来,然后在那里更新它们:

$cursor = $db->col->find(array('x' => 1))->limit(10)
foreach($cursor as $row){
    $row['x'] = 10;
    $db->col->save($row); // Update with set can be used too
}

提供它是一个很小的数字,你也可以像@nw90所说的那样,即取而代之的是ObjectId,然后使用原子$set在一个查询中完成所有操作。

您需要注意:https://jira.mongodb.org/browse/SERVER-1599

答案 1 :(得分:0)

据我所知,没有这样的功能。你可以做一个解决方法:只需获取你想要更新的文件的_id,并用那些_id的

更新所有文件