问题标签 [morphia]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 基于深度嵌套对象单字段的morphia查询
我想检索一个对象,基于一个对象的 id(或其他单个字段),该对象与我要检索的对象嵌套 2 个级别。一个例子来证明:
我想查找特定用户评论过的所有博客文章。
评论和用户由其父对象@Referenced。
阅读这篇文章后 http://groups.google.com/group/morphia/browse_thread/thread/57090ef1bd2f3e74?pli=1
我了解如何找到带有 ignoreField1/2 具有特定价值的评论的博客,但我想进一步导航。
我尝试了以下方法,但是因为比较了所有评论字段,所以没有匹配
java - 重新初始化 play morphia 后 findAll 失败
我有以下类,它在戏剧中使用 morphia 持久化到 mongodb 中!应用。该类驻留在一个模块中,该模块是另一个游戏的依赖项!应用。
它的配置是从文件中读取的,并在初始加载时持久保存到数据库中(如果它还没有在数据库中),然后后续请求使用数据库版本。
初始加载和后续查询访问正常,我可以在 mongo 中看到该页面:
但是,如果我重新开始玩!或进行代码更改导致 Morphia 被重新初始化(MorphiaPlugin-1.2.4> initialized
出现在日志中)我得到以下堆栈跟踪:
如果我使用命令行从 mongodb 中删除 Collection,我可以再次从我的游戏中成功加载和查询 Page obejct!Web应用程序
正如我所提到的,这个类在一个模块中。此问题仅发生在该模块所依赖的一个应用程序中。另一个演示应用程序工作正常。
有什么建议么?
mongodb - Playframework morphia 模块与多个 MongoDB 分片或副本通信
现在,我从 Play! 与一个 MongoDB 进行 morphia 对话的配置设置。如果我有多个 MongoDB 实例(可能是分片或副本),我如何从 Play 访问它们!
mongodb - 使用 Morphia/MongoDB 使用 ObjectId 进行注释
我正在尝试使用此字段为 Morphia 注释 java 对象:
但是我的代码在代码中出现了这个错误:
虽然应用程序有 Morphia 和 MongoDB 罐子。
任何想法为什么会出现这个问题?
mongodb - Morphia/MongoDB:从@Embedded 对象访问“嵌入”对象
我有一个类似于这个的 Morphia 模式:
(上面的代码只是为了说明)
我正在尝试获取特定的 BlogComment 以便使用新内容对其进行更新。我有相应的 BlogEntry 对象可用,并且我有 authorId,假设出于这个问题的目的,这两个一起足以唯一标识正确的 BlogComment。
我的问题是,BlogComment 没有明确包含对其“父”BlogEntry 对象的引用,那么如何编写 morphia 查询来检索此 BlogComment?就像是:
mongodb - 如何将 log4mongo 文档映射到 java 对象
基本上我的 log4mongo 正在记录用户活动,我想选择一个用户并查看他的日志条目,
此代码工作正常
但在这里我收到错误“尝试映射到未映射的类:
package
该类的名称应该是什么,log
或者可能无关紧要。我意识到可能我的 POJO 设置不正确,
但我不知道出了什么问题。
log4mongo 文档如下所示。
这是我试图映射到的 POJO
mongodb - 在 MongoDB 中首先显示具有某些属性的文档的最快方法
我有大量文档的集合,我需要使用各种不同的查询对其进行自定义搜索。每个 Document 都有布尔属性。我们称之为“isInTop”。我需要在所有查询中首先显示具有此属性的文档。是的。我可以轻松地在这个领域进行排序,例如:
并使用字段“isInTop”作为其中的最后一个字段创建适当的索引。但这将缓慢工作,因为mongo 中的索引最适合使用 unique fields。那么有没有解决方案在每个查询的顶部显示带有“isInTop”字段的文档?
我在这里看到两个解决方案。第一:设置需要在“未来”的_id之上的文档。如您所知,ObjectId 包含时间戳。所以我可以使用未来的时间戳创建 ObjectId 并使用自然顺序
第二:为需要在顶部的文件创建单独的集合。并首先在其中进行查询。
这个问题还有其他解决方案吗?哪个会更胖?
更新 我已经通过对代表排名的自定义字段进行排序来完成这个问题。
mongodb - 如何使用 YAML 将嵌入数据加载到 play/morphia/mongodb 中?
我正在使用 play 开发一个网络应用程序!框架和morphia/mongodb。我正在尝试使用 play 提供的 YAML 功能加载一些初始数据。
我无法弄清楚导入嵌入对象的正确语法。
这是我使用 morphia mongodb 映射器的数据模型:
使用以下 yaml 代码,我可以导入 MongoEvent,但不能导入嵌入的 MongoEventListItem:
在 mongodb 中,我得到以下数据:
关于正确的 YAML 语法的任何想法?
谢谢
javascript - 玩!框架morphia模块组聚合按日期桶
我正在使用游戏!框架 morphia-mongodb 模块,我看到它有很好的内置插件来进行组聚合。不幸的是,所有示例仅显示按固定字段进行分组/聚合,而我需要按计算字段进行聚合:按天分组的时间戳。我想知道是否有人知道正确的方法?
我知道我可以求助于原生地图/减少(它本身需要一点挖掘才能弄清楚,所以我在这里发布以供参考,使用电影和放映时间):
但是,如果已经有一种优雅的内置方法可以使用 morphia 模块进行这种聚合,我想改用它。我的一个想法是在我的 java 类中创建一个虚拟字段(例如“getDay()”),然后通过它进行分组/聚合。这个事情谁有经验?
java - 将多个对象合并为 Morphia 的复杂对象时出现问题
我正在尝试将这三个对象合并为一个复杂的对象:
我的目标是使用 Morphia 将 Person 对象保存在 MongoDB 中,这也是我希望文档布局的方式。我已经创建了一个文档构建器,它结合了每个对象的列表。每个人都会得到一份所有事件的列表,但只能接收特定的礼物。虽然我的文档构建器确实创建了 Morphia 可以保留的文档,但只有最后一个收件人的礼物(排序顺序)被插入到所有人员的事件中。虽然对于正确的事件。
如果我通过删除外部循环并让该方法为 Persons 列表的特定索引获取参数来稍微修改代码以一次处理一个人:
我得到一个带有正确礼物的完整 Person 对象。如果尝试将此修改后的版本输入循环,则问题又回来了。我尝试过使用常规的 for 循环和同步集合。我已经尝试使用 Google Guava 的 ImmutableArrayList 并且仍然没有运气。我知道问题是我在访问列表时正在更改列表,但无论如何我都找不到它。我写了一个直接使用 MongoDB 驱动程序的 DAO,它可以正常工作,但它的代码要多得多,而且非常难看。我真的希望这种方法能够奏效,答案就在我面前,但我就是看不到。任何帮助将不胜感激。