Я пытаюсь получить данные из MongoDB поле за полем в мой код Java - PullRequest
0 голосов
/ 26 января 2019

Моя коллекция в MongoDB выглядит примерно так:

_id |Имя |Контакт

101 |Джастин | 9999999999

, и я пытаюсь получить эти значения в строке таким образом, что должно быть похоже на

101Justin9999999999

в моей Java-программе, но вместо этого все, что я могу получить, это

[Документ {{_ id = 101.0, Имя = Джастин, Контакт = 9999999999}}]

код, который я пробовал до сих пор, выглядит следующим образом:

public static void main( String args[] ) { 

    MongoClient mongo = new MongoClient( "localhost" , 27017 ); 

    MongoDatabase database = mongo.getDatabase("assingment");  

    MongoCollection<Document> collection = database.getCollection("mongoData");

    FindIterable<Document> iterDoc = collection.find(); 

    String temp="";
    Iterator it = iterDoc.iterator(); 

    while (it.hasNext()) {  
        mongoArrayList.add(it.next().toString()); 
    }
  System.out.println(mongoArrayList); 

1 Ответ

0 голосов
/ 26 января 2019

Это правильно. При получении данных из вашей базы данных Монго вы получите коллекцию Document объектов. Вы должны предоставить логику, где вы. Перейдите в коллекцию и создайте нужную строку самостоятельно, основываясь на значениях поля.

В каждом документе вы можете сделать что-то вроде: document.getString("Name"), где Name - это одно из имен ваших столбцов в вашей базе данных mongo.

Пример кода:

while(it.hasNext()) {
  Document nextDocument = (Document) it.next();
  StringBuilder builder = new StringBuilder();
  builder.append(nextDocument.getString("_id")).append(nextDocument.getString("Name")).append(nextDocument.getString("Contact")); 
  mongoArrayList.add(builder.toString()); 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...