MongoDB perl模块:“查询错误:未授权查询”

时间:2014-04-14 13:24:58

标签: perl mongodb

我正在尝试使用Perl遍历mongodb实例中的文档。我的代码的主干是:

use strict;
use warnings;
use MongoDB;
use utf8;

my $client = MongoDB::MongoClient->new(
    host     => ...,
    port     => ...,
    db_name  => 'database_main',
    username => ...,
    password => ...
);
my $database = $client->get_database('database_main');
my $collection = $database->get_collection('collection');

my $query = $collection->find();

while (my $doc = $query->next){
    ...
}

但是,执行find()行时出现错误:

  

查询错误:未授权对database_main进行查询

我尝试使用Mongo shell执行完全相同的过程,但我没有收到任何错误。

一个。有谁知道如何解决这个问题?

B中。有谁知道这个错误给出的情况?

提前感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:0)

在我的情况下,我有以下版本(unbuntu软件包14.04附带的版本)

dpkg -l libmongodb-perlDesired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name           Version      Architecture Description
+++-==============-============-============-==================================
ii  libmongodb-per 0.702.1+ds-1 amd64        Mongo Driver for Perl

有版本

version 0.702.1

我从CPAN安装了最新版本,它开始了 版本v0.708.0.0