您不需要更改所有现有查询,只需要更改建立MongoClient的逻辑。大多数应用程序将其作为某种Singleton进行,因此添加身份验证只是修改Singleton的问题。令人痛苦的是,没有一个仅采用String,用户名密码为String的签名,但是它的Mongo
Java API令人失望。
您可以选择MongoURI路径,以获取最短的签名…
MongoClient mongo = new MongoClient( new MongoClientURI( "mongodb://app_user:bestPo55word3v3r@localhost/data" ));
或者使用更详细的List
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 );



