我不再使用MongoDB了。 我有一个里面有很少文件的集合。以下是一个例子。
{"UserID": "1", "Name": "John", "Marks":40}
{"UserID": "2", "Name": "Mark", "Marks":50}
{"UserID": "3", "Name": "Jesse", "Marks":60}
我想获取数组中所有条目的标记以显示它们并使用java进行一些计算。 到目前为止,我已经完成了阅读文档和显示所有数据的打击。但我找不到一种方法只能从中获得“标记”。
MongoClient client = new MongoClient("localhost",27017);
DB db = client.getDB( "test_db" );
DBCollection collection = db.getCollection("AllocatedMarks");
DBCursor cursor = collection.find();
while(cursor.hasNext()) {
System.out.println(cursor.next());
}
到目前为止,我只知道使用Java从MongoDB读取数据。请帮我只将文档中的标记字段添加到数组中。
谢谢。
答案 0 :(得分:2)
您只需要将密钥传递给get()方法,这样就可以这样做:
for(int i=0; i<cursor.size();i++){
System.out.println(cursor.get(i).get("Marks"));
}
同样使用foreach循环,你可以做...
感谢。
答案 1 :(得分:2)
以下是如何获得&#34; Marks&#34;:
DBObject dbObject;
while(cursor.hasNext()) {
dbObject = cursor.next();
int marks = ((Number)dbObject.get("Marks")).intValue()
}
您可以直接转换为Integer而不是数字。
不重要,但如果您只想加载&#34; Marks&#34;你可以这样发出你的查询:
BasicDBObject fieldsDBObject = new BasicDBObject();
fieldsDBObject.append("Marks",true);
DBCursor cursor = collection.find(null, fieldsDBObject);
答案 2 :(得分:1)
您可以在DBCursor对象中使用get()
方法
将其用作
System.out.println(cursor.next().get("Marks");
有关详细信息,请参阅MongoDB api DBCursor,DBObject,BSONObject