簡體   English   中英

使用MongoDB Java將DBObject轉換為POJO

[英]Converting DBObject to a POJO using MongoDB Java

我是一個開始使用MongoDb的人,並且正在開發一個連接到此Mongo數據庫的小型Web應用程序。 我有一個DAO,它具有一種根據分配給用戶的電子郵件地址從數據庫中查找用戶的方法。 每個用戶應該有一個唯一的電子郵件地址,因此我可以假設我只會得到一個文檔。 然后如何將DBObject轉換為User實體?

這是我的代碼:

@Override
public User findUserByEmailAddress(String email) {
    DB db=MongoHelper.getDb();


    BasicDBObject query = new BasicDBObject(); 
    query.put("email", email);
    DBCollection users=db.getCollection("users");
    DBCursor cursor = users.find(query);

    DBObject user=cursor.next();

  //Code to convert the DBObject to a User and return the User
}

提前非常感謝您!

DBObject是一個映射,因此您可以通過簡單地通過相應鍵訪問它來獲取所需的值。

例如:

DBObject query = QueryBuilder.start("email").is(email).get();
DBCursor cursor = users.find(query);

while (cursor.hasNext()) {

   DBObject user = cursor.next();
   String firstName = (String)user.get("first_name");
   String lastName = (String)user.get("last_name");

   //TODO: use extracted properties to build User object   
}

請注意,根據文檔結構,返回的屬性本身可以是地圖。 因此,需要適當的鑄造。 此外,我不認為文檔數據庫中每個用戶只能發送一封電子郵件(由於錯誤,輸入錯誤等)。 它應該在應用程序級別上執行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM