Mongodb未知错误?

时间:2010-11-30 11:28:46

标签: java javascript mongodb mongo-java

我是Mongo DB的新手我必须在java中实现它。我经历了幻灯片,但我很困惑发生了什么。我使用mongo DB执行了一个小的java程序,但它无法正常工作?

我的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” 如果我想知道如何在java中使用Mongo。我很了解mysql但转移到mongo我无法在查询中找到它们。什么是“query.put”正在做什么?有什么建议吗?

2 个答案:

答案 0 :(得分:2)

你有一个无限循环,因为你忘了在while循环中调用cursor.next()。

答案 1 :(得分:1)

你必须使用:

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

而不是

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

...