1

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

我对'multi'国旗很了解。multi设置时true它将更新所有匹配的记录,否则只更新一条记录。

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

前任。UPDATE table SET x=10 wher x=1 LIMIT 10

我想知道mongoDB是否有可能?

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

4

2 回答 2

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 所说的那样,将ObjectIds 取出,然后使用 atomic 在一个查询中完成所有操作$set

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

于 2013-01-19T18:10:47.920 回答
0

据我所知,没有这样的功能。您可以采取一种解决方法:只需获取要更新的文档的 _id 并使用这些 _id 更新所有文档

于 2013-01-19T17:55:38.500 回答