diff --git a/textarchive/lib/TA/ObjReg.pm b/textarchive/lib/TA/ObjReg.pm index e0f867f460c7ed6ef39633ac54b4d5d2914d82f3..b74c4b5ea2be5b09f60cd7ee902bf24c811a0d75 100644 --- a/textarchive/lib/TA/ObjReg.pm +++ b/textarchive/lib/TA/ObjReg.pm @@ -97,7 +97,11 @@ sub get_project { if ($be eq 'TA::Hasher') { require TA::Hasher; } elsif ($be eq 'TA::UrxnBla') { require TA::UrxnBla; } - elsif ($be eq 'MongoDB') { require MongoDB; } + elsif ($be eq 'MongoDB') + { + require MongoDB; + require MongoDB::MongoClient; + } else { print "ATTN: unknown backend '$be'\n"; @@ -728,14 +732,16 @@ sub connect_MongoDB my $cfg= shift; my $cmm= $cfg->{'MongoDB'}; - # print "cmm: ", main::Dumper ($cmm); + my %cmm_c= map { $_ => $cmm->{$_} } qw(host username password db_name); + # print "cmm_c: ", main::Dumper (\%cmm_c); my ($db, $col0, $col1, $col2); eval { - my $connection= MongoDB::Connection->new(host => $cmm->{'host'}); - $connection->authenticate($cmm->{'db'}, $cmm->{'user'}, $cmm->{'pass'}); - $db= $connection->get_database($cmm->{'db'}); + my $connection= new MongoDB::MongoClient( %cmm_c ); + print "connection=[$connection]\n"; + # $connection->authenticate($cmm->{'db'}, $cmm->{'user'}, $cmm->{'pass'}); + $db= $connection->get_database($cmm->{'db_name'}); $col0= $db->get_collection($cmm->{'maint'}); $col1= $db->get_collection($cmm->{'catalog'});