您不需要更改所有现有查询,只需要更改建立 MongoClient 的逻辑。大多数应用程序将其作为某种单例进行,因此添加身份验证只是修改单例的问题。没有一个只需要字符串的签名,用户名密码的字符串,但它的 Mongo Java API,已经习惯了失望,这是一个痛苦的过程。
您可以选择获得最短签名的 MongoURI 路径...
MongoClient mongo = new MongoClient(
new MongoClientURI( "mongodb://app_user:bestPo55word3v3r@localhost/data" )
);
或者使用更详细的 List<MongoCredential> 路径
List<ServerAddress> seeds = new ArrayList<ServerAddress>();
seeds.add( new ServerAddress( "localhost" );
List<MongoCredential> credentials = new ArrayList<MongoCredential>();
credentials.add(
MongoCredential.createMongoCRCredential(
"app_user",
"data",
"bestPo55word3v3r".toCharArray()
)
);
MongoClient mongo = new MongoClient( seeds, credentials );