MongoDb和morphia密码和用户名

时间:2011-10-19 21:03:13

标签: mongodb morphia

玩这个并且无法获得抓地力 关于如何连接密码。

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

我已经收藏了5份文件 我可以申请那个用户/通行证吗?

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

从这篇文章中取出代码(谢谢@Lennart Koopmann)
MongoDB Java driver tutorial

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

2 个答案:

答案 0 :(得分: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");

答案 1 :(得分:2)

createDatastore(m, DB_NAME, username, password)
已经引入了{p> This重载方法here

也许您使用的是较旧的Moprhia客户端?

相关问题