当前位置: 首页 > 知识库问答 >
问题:

从MongoDB读取数据[重复]

邵文乐
2023-03-14

我退出新的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读取数据,我只知道这些。请帮助我将文档中的“标记”字段仅获取到数组中<谢谢你。

共有3个答案

詹夕
2023-03-14

您可以在DBCursor对象中使用get()方法
将其用作

System.out.println(cursor.next().get("Marks");

有关详细信息,请参阅MongoDB api
DBCursor、DBObject、BSONObject

满和安
2023-03-14

以下是如何获得“标记”:

DBObject dbObject;
while(cursor.hasNext()) {
   dbObject = cursor.next();
   int marks = ((Number)dbObject.get("Marks")).intValue()
}

您可以直接转换为整数而不是数字。

不重要,但如果您只想加载“标记”,则可以按如下方式发出查询:

BasicDBObject fieldsDBObject = new BasicDBObject();
fieldsDBObject.append("Marks",true);
DBCursor cursor = collection.find(null, fieldsDBObject);
柴声
2023-03-14

您只需要将key传递给get()方法,因此可以这样做:

for(int i=0; i<cursor.size();i++){
   System.out.println(cursor.get(i).get("Marks"));
}

类似地,使用foreach循环,您可以。。。

谢谢

 类似资料:
  • 我正在创建一个简单的服务器/客户端UDP套接字程序,我遇到了一个问题。 问题是recvfrom()函数一直在重新读取上次发送的数据。 因此,如果我从客户端向服务器发送两个数据包,那么recvfrom()将读取第一个数据包并打印其数据,然后它将不断地反复读取第二个数据包。 据我所知,一旦成功执行读取操作,数据包应该从套接字中删除,但这似乎没有发生。 我知道客户端没有重新发送数据,因为每当客户端发送数

  • 我试图从Firebase数据库中读取数据,我已经到处阅读和查找,但我已经走到了死胡同。 这就是我所做的一切。 依赖项: 实现'com.google.firebase: Firebase存储: 9.2.1' 实现'com。谷歌。firebase:firebase数据库:9.2。1' 实现'com。谷歌。firebase:firebase授权:9.2。1' 实现'com。谷歌。火基:火基核心:9.2。

  • 问题内容: 我正在尝试从golang中的telnet会话读取数据。为了达到这个目的,我编写了以下函数。 最初,我遇到一个问题,即我从没有数据的套接字读取数据,因此它将锁定并且永远不会返回。BufferSocketData是我尝试解决此问题的方法,因为我不知道是否有要读取的数据。这个想法是它将等待1秒钟,然后确定套接字中没有数据并返回一个空字符串。 GetData似乎第一次在缓冲区中有新数据时起作用

  • 8.4.从 Twitter 读取数据 我们已经有了个大体的框架,接下来就连接到 Twitter ,读取数据并且在程序中显示出来。Twitter 或者其他的微博平台提供的 API 都各不相同。这时可以使用三方库jtwitter.jar,它提供了一个Twitter类作为封装。里边最常用的功能之一就是getFriendsTimeline(),它可以返回24小时中自己和朋友的最新20条消息。 要使用 Tw

  • 我是Flink大学的一年级新生,我想知道如何从hdfs读取数据。有谁能给我一些建议或简单的例子吗?谢谢大家。

  • 是否有任何方法来管理这一事实?例如,告诉MongoDB设置只在次要数据可用的情况下才从次要数据传递数据,并引用主要的其他数据?