我想将mongoDB集合中的记录更新为固定限制。有没有办法在PHP / mongoDB中做到这一点?
我很清楚'multi'
旗帜。当multi
设置true
时,它将更新所有匹配的记录,否则只更新一条记录。
但我需要的是,我想将集合中的记录更新为SQL中的固定限制。
离。 UPDATE table SET x=10 wher x=1 LIMIT 10
我想知道是否可以使用mongoDB?
希望我对我的问题很清楚。任何帮助将不胜感激。
答案 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
在一个查询中完成所有操作。
答案 1 :(得分:0)
据我所知,没有这样的功能。你可以做一个解决方法:只需获取你想要更新的文件的_id,并用那些_id的
更新所有文件