Morphia/MongoDB:从 @Embedded 对象访问“嵌入”对象

2023-12-30

我有一个与此类似的 Morphia 架构:

@Entity
class BlogEntry {
    @Embedded
    List<BlogComment> comments
}

@Embedded
class BlogComment {
    String content
    Long authorId
}

(以上代码仅供说明)

我正在尝试获取特定的 BlogComment 以便用新内容更新它。我有相应的 BlogEntry 对象可用,并且有authorId,就这个问题而言,这两个对象一起足以唯一地标识正确的 BlogComment。

我的问题是,BlogComment 没有显式包含对其“父”BlogEntry 对象的引用,那么如何编写吗啡查询来检索此 BlogComment?就像是:

//fetch the unique comment corresponding to this blog entry and this author ID.
BlogComment comment = ds.find(BlogComment.class, "blogEntryId =", blogEntry.id)
                        .filter("authorId", authorId)
                        .get(); 

既然您已经有了博客条目对象,为什么不使用简单的 Java 循环来过滤它呢?

@Entity
class BlogEntry {

    @Embedded
    List<BlogComment> comments

    public BlogComment findCommentByAuthorId(String authorId) {
        if (null == authorId) return null;
        for (BlogComment comment: blogEntry.comments) {
           if (authorId.equals(comment.authorId) return comment;
        }
        return null;
    }

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

Morphia/MongoDB:从 @Embedded 对象访问“嵌入”对象 的相关文章

  • 如何在java中创建mongoDB objectid

    参考帖子如何使用 Java 将数组添加到 MongoDB 文档 https stackoverflow com questions 15371839 how to add an array to a mongodb document usi
  • Mongo $group 和 $project

    我正在尝试获取关键字计数parentId categioryId and llcId 我的数据库是 id ObjectId 5673f5b1e4b0822f6f0a5b89 keyword electronic content manage
  • Mongoose 4.4.12 中 Schema 方法范围内的“this”为空 {}

    当在 Schema 方法内记录到控制台时 对象 this 为 这发生在一天前 我一直在阅读教程和其他堆栈溢出问题 但不幸的是我没有找到原因的解决方案 这是我的模型 var mongoose require mongoose var Sche
  • 清理 MongoDB 的输入

    我正在为 MongoDB 数据库程序编写 REST 接口 并尝试实现搜索功能 我想公开整个 MongoDB 接口 我确实有两个问题 但它们是相关的 所以我将它们放在一篇文章中 使用 Python json 模块解码不受信任的 JSON 是否
  • 在 shell/shell 脚本中设置 MongoDB 写关注

    我正在尝试填充一个集合MongoDB的壳 据我了解 使用轻松的Write Concern可以大大加快这个过程 我说的是文档 http docs mongodb org manual core write concern write oper
  • 为关联数组选择哪种映射类型?学说ODM

    我有一个关于 顺便说一句 真的很棒 Doctrine ODM 的简单问题 假设您有一个类似以下的文档 Document class Test Id public id WHICHTYPE public field array 现在我想存储一
  • MongoDB insertMany 并跳过重复项

    我试图insertMany https docs mongodb com manual reference method db collection insertMany 项目进入我的 Mongo 数据库 但我想跳过重复的 ID 我在用着N
  • 为什么 Mongohint 可以使查询运行速度提高 10 倍?

    如果我使用explain 从shell运行mongo查询 获取所使用的索引的名称 然后再次运行相同的查询 但使用hint 指定要使用的相同索引 解释计划中的 millis 字段是显着下降 例如 没有提供任何提示 gt gt db event
  • $unwind聚合框架中的对象

    在 MongoDB 聚合框架中 我希望在对象 即 JSON 集合 上使用 unwind 运算符 看起来不像是这样possible http docs mongodb org manual reference aggregation S un
  • 将 Mongodb 与 Android 应用程序连接

    我正在尝试构建 Android 应用程序来连接到 MongoDB 一直被这个问题困扰 MongoDB 是可访问的 但没有安全性 可以通过手机使用 Mono Explorer 添加数据 public void sendMessage View
  • 国外收藏的查找和排序

    所以我有一个收藏users 并且此集合中的每个文档以及其他属性都有另一个集合中文档的 id 数组 workouts 集合中的每个文档workouts有一个名为date 这就是我想要得到的 对于特定用户 我想要获取属于该用户的锻炼的 work
  • MongoDB 查询数组以获取精确的元素匹配,但可能是无序的

    我在 MongoDB 中有一个文档 如下所示 users 2 3 4 我尝试通过匹配用户数组来查询该文档 db things find users all 2 3 4 该查询有效 但也会返回此文档 users 2 3 4 5 最后一个要求是
  • MongoDB java 驱动程序 3.0 在身份验证时无法捕获异常

    我超级卡住o 0 在尝试通过 Java 驱动程序进行身份验证时 存在捕获异常的问题 正如你可能会看到的Throwable类不工作 private MongoClient mongoClient private MongoDatabase m
  • 访问 Amazon EC2 上的 Mongodb 时出现问题

    我还有一个问题要问你 我有安装了 mondodb 的 Amazon EC2 实例 它工作得很好 除了一件事 我无法从外部 我的电脑 访问 连接到 它 我认为安全组的问题 这是某种默认防火墙 有谁知道如何配置EC2实例来访问mongodb 提
  • $setIntersection 失败,子文档数组不在集合中

    考虑以下文档 item1 a 1 b 2 item2 a b 以下查询 db test aggregate project items setIntersection item1 item2 返回预期结果 id ObjectId 57107
  • Mongoose:保存时根据父字段值设置子文档字段值

    这几乎肯定在其他地方有所涉及 但是 如果我有一个带有嵌入子文档的单一架构 如下所示 var ChildSchema new Schema name type String trim true user type String trim tr
  • MongoDB - 两个多边形的地理空间交集

    有没有什么方法可以使用符合以下条件的 mongodb 地理空间查询来查询和获取位置数据 获取属于两个框或一般两个多边形之间相交部分的所有位置 例如下面的示例 我们是否可以在查询输出中仅获取黄色区域内的那些位置 该区域实际上是紫色和红色几何对
  • symfony2形式选择和mongodb

    使用 Entity 时 我们可以从 Entity 加载选择via表单字段类型实体 builder gt add group entity array class gt Fist CoreBundle Document Group 但是当使用
  • 非法的break语句(Node.js)

    尝试在 Node js 和 MongoDB 中查找唯一 ID 方法是创建一个 while 循环来查询 MongoDB 中的现有 ID 直到找到唯一值 如果 ID 已被使用 则最后的数字会递增 直到 Mongo 不返回任何内容 一切正常 除了
  • 如何通过引用文档查询嵌入文档?

    我正在使用 Doctrine ODM 但在通过引用文档查询嵌入文档时遇到问题 考虑以下文件

随机推荐