如何在perl中使用Mongo --authenticationDatabase

时间:2017-05-07 12:07:26

标签: mongodb perl

这是我在perl

中连接到mongoDB的方式
my $client = MongoDB::MongoClient->new(
    host     => 'badhost',
    port     => 37018,
    username => 'abc_user',
    password => 'abc_user',
    db_name  => 'cust_projectdb'
) or die "unable to connect to mongo\n";

来自shell的连接字符串是 mongo cust_projectdb --port 37018 -uabc_user -pabc_user --host badhost

但是当连接字符串使用不同的集合进行身份验证时如何连接:

mongo cust_projectdb --port 37018 -uabc_user -pabc_user --host badhost --authenticationDatabase admin

1 个答案:

答案 0 :(得分:1)

db_name参数在您连接到服务器时设置身份验证数据库,因此您需要

db_name => 'admin'

做相当于你的命令行连接,虽然admin是默认的,所以你可以完全省略它

如果您想访问cust_projectdb数据库,则需要在刚刚创建的get_database对象上使用MongoDB::MongoClient

my $db = $client->get_database('cust_projectdb')