Монго БД неизвестна Ошибка? - PullRequest
1 голос
/ 30 ноября 2010

Я новичок в БД Mongo. Я должен реализовать его в Java.Я прошел майские слайды, но я запутался в происходящем.Я выполнил небольшую Java-программу с использованием Mongo DB, но она не работает?

Мой код Java:

    public class MongoDbTesting {

    public void connectingMongo() throws UnknownHostException, MongoException{
    Mongo m = new Mongo("localhost" , 27017); //mongo object
    DB db = m.getDB("todo");
    System.out.println("Connected");
    //making a collection object which is table when compared to sql
    DBCollection items = db.getCollection("items"); 
    System.out.println("items got");

    //to work with document we need basicDbObject       
    BasicDBObject query = new BasicDBObject();
    System.out.println("Created mongoObject");
    //insert in mongo
    query.put("priority", "highest");
    items.insert(query);
    System.out.println("Inserted");     
      //Cursor, which is like rs in sql
    DBCursor cursor = items.find();
    System.out.println("items got");
    //print highest priority items

    while(cursor.hasNext()){
        System.out.println(cursor.hasNext());
    }   
    } 
    }

Вывод: он печатается непрерывно, как

истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно истинно верно

Я не могу понять, что происходит.Я хочу вставить некоторые данные в коллекцию "items" также, если я хочу знать, как использовать Mongo в Java.Я хорошо знаю MySQL, но переходя на монго, я не могу связать оба вопроса.Что делает "query.put"?Любые предложения, пожалуйста?

Ответы [ 2 ]

2 голосов
/ 30 ноября 2010

У вас есть бесконечный цикл, потому что вы забыли вызвать cursor.next () внутри цикла while.

1 голос
/ 30 ноября 2010

Вы должны использовать:

System.out.println(cursor.next());

вместо

System.out.println(cursor.hasNext());

...

...