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