1

玩弄这个,无法掌握
如何连接密码。

在 MongoDb 中它很容易理解,但是当我使用 morphia 时,它并不是
那么明显,因为文档很少或者我错过了它。

我已经有一个包含 5 个文档的集合。
我可以申请一个用户/传递那个吗?

如何修改此代码以便日志记录使用用户名和密码?

从这篇文章中获取代码(感谢@Lennart Koopmann)
MongoDB Java 驱动程序教程

public final class MongoConnectionManager {

 private static final MongoConnectionManager
 INSTANCE = new MongoConnectionManager();
 private final Datastore db;
 public static final String DB_NAME = "mongo_database";

 private MongoConnectionManager() {
            try {
                Mongo m = new Mongo("localhost", 27017);
            db = new Morphia().map(UserData.class)
     .map(Statistic.class)
     .map(FriendList.class)
     .map(ServerData.class)
     .map(BatchData.class).createDatastore(m, DB_NAME);

                db.ensureIndexes();
            }
            catch (Exception e) {
                throw new RuntimeException("Error initializing mongo db", e);
            }
        }

        public static MongoConnectionManager instance() {
            return INSTANCE;
        }

        public Datastore getDb() {

            return db;
        }   
    }
4

2 回答 2

8

也许您可以使用以下代码:

Morphia morphia = new Morphia();
ServerAddress addr = new ServerAddress("host", 27017);
List<MongoCredential> credentialsList = new ArrayList<MongoCredential>();
MongoCredential credentia = MongoCredential.createCredential(
    "username", "dbname", "password".toCharArray());
credentialsList.add(credentia);
MongoClient client = new MongoClient(addr, credentialsList);
datastore = morphia.createDatastore(client, "dbname");
于 2015-07-17T15:50:31.773 回答
2
createDatastore(m, DB_NAME, username, password)

这个重载的方法已经介绍到这里了

也许您正在使用较旧的 Mopria 客户端?

于 2011-10-19T21:09:16.653 回答