0

我想更新我的数据库(mongodb)中的所有记录,我尝试使用下面的命令来做到这一点,但我无法找到解决方案。

use MongoDB;
my $dbhost = MongoDB::Connection->new(host => '127.0.0.1', port => 27017);
    my $database   = $dbhost->test;
my $res = $database->questions;
$res->update({'person'=>'omer'},{'$set' => { 'canbeseen' =>"oha"}},{"multi" => "true"} );

我想更新所有 omer 的“canbeseen”。但它不起作用,所以我该怎么做?我在等你的答案。谢谢你。

4

1 回答 1

1

MongoDB 模块似乎使用multiple关键字而不是multi

$res->update(
  {'person'   => 'omer' },
  {'$set'     => { 'canbeseen' => "oha" } },
  {'multiple' => "true" }
);

文档中:

multiple所有匹配 $criteria 的文档都将被更新,而不仅仅是找到的第一个文档。(仅适用于数据库版本 1.1.3 和更高版本。)

于 2012-06-24T11:47:08.407 回答