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"} );

すべてのオマーの「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 に答える