我是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”正在做什么?有什么建议吗?
答案 0 :(得分:2)
你有一个无限循环,因为你忘了在while循环中调用cursor.next()。
答案 1 :(得分:1)
你必须使用:
System.out.println(cursor.next());
而不是
System.out.println(cursor.hasNext());
...