MongoDB-Java中查询数据去除_id并仅显示指定字段

2024-02-26

我正在 Eclipse 中完成一个 Java 项目,作为我大学作业的一部分。该项目的要求之一是将数据写入文本文件并在另一个类中将其读回。不过,我决定使用MongoDB而不是文本文件。

数据的格式如下所示:

Data https://i.stack.imgur.com/T7nSx.png

当我从 Mongo 读回数据时,我使用以下代码:

MongoClientURI connectionString = new MongoClientURI("<My connection string>");
MongoClient mongoClient = new MongoClient(connectionString);

MongoDatabase database = mongoClient.getDatabase("Timeline");

MongoCollection<Document> collection = database.getCollection("HistoricalFigure");

MongoCursor<Document> cursor = collection.find().iterator();

try {
    while (cursor.hasNext()) {
        system.out.println(cursor.next().toJson());
    }
} finally {
    cursor.close();
    }

这效果很好,并从我的打印中打印以下内容Mongo collection:

Result https://i.stack.imgur.com/MSh7D.png

(忽略数据 - 只是随机放入)

我知道过去也有人问过类似的问题,关于从结果中删除 _id 字段等 - 所以对此表示歉意 - 但不幸的是,我无法将这些示例应用到我自己的代码中,因为它们确实有很大差异。

我想从中实现的是将以下值打印到控制台Historical Figure这样它就会打印出这样的内容:

期望的结果 https://i.stack.imgur.com/Bt9nu.png

如果有人可以提供帮助,我将非常感激 - 我认为答案将位于collection.find()但我只是不确定如何。

非常感谢, 乔治


Mongo Java 驱动程序 v3.x 为此提供了一个有用的投影快捷方式:Projections.excludeId().

但这只是语法糖:new BsonDocument("_id", new BsonInt32(0))

因此,如果您使用的 Mongo Java 驱动程序版本 >= 3.x,则只需将此投影添加到您的find() call:

collection.find().projection(Projections.excludeId()).iterator();

如果您使用的 Mongo Java 驱动程序版本 find() call:

collection.find().projection(new BsonDocument("_id", new BsonInt32(0))).iterator();

该投影指示 Mongonot包括_id返回的任何文档中的属性find call.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MongoDB-Java中查询数据去除_id并仅显示指定字段 的相关文章

随机推荐

  • 如何在逻辑应用程序中循环遍历数组?

    我已设法将所有用户数据放入数组中 请参阅here https stackoverflow com questions 59107093 how to store all azure ad user group members in an a
  • 使用 C++、libpng 和 OpenMP 并行化 PNG 文件创建

    我目前正在尝试在 C 中实现一个基于 libpng 的 PNG 编码器 它使用 OpenMP 来加速压缩过程 该工具已经能够从各种图像格式生成 PNG 文件 我将完整的源代码上传到pastebin com 这样你就可以看到我到目前为止所做的
  • 在 null Laravel 上调用成员函数 Roles()

    我正在 Laravel 中使用户角色发挥作用 一切都工作正常 但从任何地方都出现错误 调用成员函数 Roles 或 null 这是我发送请求的 html td td
  • 未授权端点,请检查设置->安全->远程站点设置端点

    我无法通过 Twilio API 发送短信 我得到了以下异常 ERROR 未授权端点 请检查设置 gt 安全 gt 远程站点设置 端点 url global class SampleSMSTest future callout true p
  • 将项目添加到 Linux 内核链表

    我在用linux list h在我的用于实现队列 堆栈行为的代码中 头部 尾部添加API如下 static inline void list add struct list head new struct list head head li
  • 缓冲区溢出攻击(攻击实验室第 2 阶段)

    我有一个缓冲区溢出实验室 我必须为一个名为攻击实验室 http csapp cs cmu edu 3e attacklab pdf 我处于实验室的第二阶段 我必须将代码作为漏洞利用字符串的一部分注入 以使程序指向函数 touch2 的地址
  • 数据库连接和 OutOfMemoryError:Java 堆空间

    去年夏天 我制作了一个 Java 应用程序 它可以解析一些 PDF 文件并获取它们包含的信息并将其存储在 SQLite 数据库中 一切都很好 我每周左右都会向数据库添加新文件 没有任何问题 现在 我正在尝试提高应用程序的速度 我想看看如果我
  • 将广告注入 Google Chrome 扩展程序

    我正在开发一个 google chrome 扩展 并计划使用允许的功能注入广告 我检查过 广告行为 前面写着 此扩展程序将广告注入一些第三方网站 我的问题是 如何以及在哪里提及广告来源 比如说 如果我想显示 google adsense 我
  • PhoneGap 的 Flash 插件

    我正在phonegap 中开发一个html css javascript 应用程序 在该应用程序中 我需要一个 JavaScript 的 Flash 插件编码 以便为我的应用程序目的启用音频 视频 如果有人知道解决方案 请尽快回复我 您必须
  • 数据集与带有存储过程的实体框架

    整个问题已被重写以更加清晰 新项目设计 SQL Server 2012 Visual Studio 2012 Net 4 5 业务逻辑将在存储过程中实现 ASP Net 网络表单 WCF SOAP XML Web 服务使用 DBA 提供的存
  • Android ViewHolder背景颜色

    我正在创建一个 Android 应用程序 其中包含带有嵌套 CardView 的 RecyclerView 我需要将其他所有卡片更换为不同的颜色 我在用 Override覆盖onBindViewHolder ViewHolder vh in
  • 如何从 Google 新闻 RSS 中抓取 Google 新闻文章内容?

    将来 可能还很遥远 因为我还是个新手 我想做数据分析 基于我从Google News RSS获得的新闻内容 但为此 我需要访问该内容 这就是我的问题 使用网址 https news google cl news rss https news
  • JTextField 在最小化时调整大小

    我在 JFrame 中有一个 JTextField 和一个 JTextArea 但是 当应用程序运行时 如果我最小化窗口 JTextField 的大小就会调整 它的高度通常会增加一倍或三倍 但每次调整大小的方式并不一致 我不知道为什么会发生
  • 在 Plotly 中的单个迹线中显示多个图例

    So the docs https plotly com python legend 几乎使它看起来像是为同一项目的不同项目显示多个图例trace plotly graph objs Scatter 不是这样的东西Plotly默认支持 您应
  • 如何使用 xmlValue 使 xpathSApply 输出长度节点向量?

    可以说我有以下内容 library XML my xml lt
  • JSONSchema - 必需的属性依赖于父属性

    我想根据根模式中属性的存在在数组子模式中应用额外的 必需 属性 我的架构设置如下 schema http json schema org draft 07 schema type object required isParentDepend
  • 启动 Android Netflix 应用程序并传递视频 ID

    在我正在开发的应用程序中 我想支持 Netfilx 流媒体 我打算通过简单地启动 Netflix 并传递特定的 URI 来实现此目的 以便它在启动时播放特定的视频 简单吧 好吧 问题是我不确定如何在用于启动 Activity 的 Inten
  • PHP:gethostbyname 错误

    我在用gethostbyname 获取应用程序中域的 IP 地址 在某些情况下 还会检查 50 9 49 等无效地址 echo gethostbyname 50 9 49 returns 50 9 0 49 在这种情况下gethostbyn
  • 使用 OpenCV-3.0.1 / python 2.7 创建 svm

    这是多么奇怪的系统啊 我在这里遇到了与此问题相同的问题 AttributeError 模块 对象没有属性 SVM LINEAR https stackoverflow com questions 36109874 attributeerro
  • MongoDB-Java中查询数据去除_id并仅显示指定字段

    我正在 Eclipse 中完成一个 Java 项目 作为我大学作业的一部分 该项目的要求之一是将数据写入文本文件并在另一个类中将其读回 不过 我决定使用MongoDB而不是文本文件 数据的格式如下所示 Data https i stack