我想将 mongoDB 集合中的记录更新到固定限制。有没有办法在 PHP/mongoDB 中做到这一点?
我对'multi'
国旗很了解。multi
设置时true
它将更新所有匹配的记录,否则只更新一条记录。
但我需要的是我想将集合中的记录更新到 SQL 中的固定限制。
前任。UPDATE table SET x=10 wher x=1 LIMIT 10
我想知道mongoDB是否有可能?
希望我对我的问题很清楚。任何帮助,将不胜感激。
当前无法从您的应用程序将更新查询(仅查找查询)限制为 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
s 取出,然后使用 atomic 在一个查询中完成所有操作$set
。
据我所知,没有这样的功能。您可以采取一种解决方法:只需获取要更新的文档的 _id 并使用这些 _id 更新所有文档