1

我是 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());
    }   
    } 
    }

输出是: 它被连续打印为

真 真 真 真 真

我无法弄清楚发生了什么。如果我想知道如何在 java 中使用 Mongo,我也想将一些数据插入到集合“项目”中。我很了解 mysql,但转向 mongo 我无法在查询中联系到两者。“query.put”在做什么?请问有什么建议吗?

4

2 回答 2

2

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

于 2010-11-30T11:31:59.537 回答
1

你必须使用:

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

而不是

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

...

于 2010-11-30T11:35:04.837 回答