我正在尝试使用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中。有谁知道这个错误给出的情况?
提前感谢您提供的任何帮助。
答案 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