问题标签 [jongo]
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.
playframework - MarshallingException:无法解组结果参考
我正在使用 play 2.4 并想在模型“用户”中设置一个参考对象“文档”。如果我遍历迭代器,我会收到以下错误:因此,如果我调用路由 /users,通常我应该得到一个包含所有用户对象和嵌入文档的 Json 列表。
[MarshallingException:无法将结果解组为类模型。用户来自内容 {“_id”:{“$oid”:“560969b4d4c6209ff2a1a973”},“name”:“Alexander Buder”,“documents”:[{“name”:“ Sample.pdf"} , { "name" : "Test.pdf"}]}]
模型用户
模型文件
控制器
路线
mongodb - 播放 2.3 Jongo ObjectId 到自定义 ID
我将 Play 2.3 scala 与 play-jongo 一起使用:
"uk.co.panaxiom" %% "play-jongo" % "0.7.1-jongo1.0"
我有scala案例类:
当我使用 Jongo 保存一些用户时PlayJongo.getCollection("users").save(User("uuid","user name"))
我的数据库中有以下内容:
当需要的结果是字符串值时_id
,它映射到id
scala 类中的属性:
当我将我的 scala 案例类转换为 Java POJO(下面的简单示例)时,一切正常。在这种情况下,我得到所需的结果。
我究竟做错了什么?如何让 jackson/jongo@Id
正确理解该注释?
在其他 SO 答案中,建议使用@Id
注释 - 我使用 - 但没有成功。
java - play.core.server.netty.PlayDefaultUpstreamHandler - 无法调用操作 java.lang.NullPointerException: null
当我想使用 PlayJongo 在 mongodb 中填充数据库时出现错误。
我收到了这个错误
这是我的 build.sbt
这是我的 application.conf
奇怪的是,我得到了错误,但数据仍然更新到数据库中。但我认为数据已损坏,因为我无法使用锁舌处理数据。
我错过了什么吗?也许在配置中,或者我执行错误?
annotations - 在 Kotlin 中注释属性时,注释的默认目标是什么?
Kotlin 中的注释可以有不同的使用站点目标,如下所述:https ://kotlinlang.org/docs/reference/annotations.html#annotation-use-site-targets
我的问题是:当未明确定义使用站点时,在类中注释属性时的默认目标是什么,如下例所示?
背景
我正在尝试将 Jongo 作为 Kotlin 中的 MongoDB 客户端,但在注释 id 字段时遇到问题。Jongo 在这样注释时没有正确映射 id 属性:
有问题的注释只是杰克逊的元注释。但是,当我像这样注释属性时,它似乎可以工作,表明使用站点问题:
我希望这@field
是默认使用站点,但似乎不是。
java - MongoDriver UUID 支持
我对 mongo 驱动程序及其在 Java 中默认插入 UUID 的方式有一些问题。(Mongo驱动3.2版)
UUID("...") => BinData(4, "...")
LUUID("...") => BinData(3, "...") 未指定编码的旧版 UUID
我的 UUID 以旧格式插入,我似乎找不到使用 V4 二进制文件插入它们的方法。您知道在 mongo 驱动程序中使用 V4 处理插入的方法吗?或者是否有任何替代库(例如MongoJack或JongoMongo)支持此插入?
编辑:MongoJack 和 Jongo 似乎还没有完全支持 Mongo V3。是否有任何不涉及使用自定义编解码器的潜在解决方法?
java - 将平面 DB 文档映射到 Morphia 中的嵌套类
我正在将一个曾经使用 Jongo 与 MongoDB 通信的 Java 应用程序移植到 Morphia + 新的 MongoDB Java 驱动程序。
在数据库中有平面文档,例如:
并且没有平面实体类来将这些文档存储在 Java 应用程序中,使用 jackson 进行注释以与 Jongo 一起使用:
我可以以某种方式将这个确切的结构按原样移植到 Morphia,而无需展平实体类或扩展文档(以便foo
和bar
字段在一个嵌入式文档中,而LongNumber
字段在另一个文档中)?
我还没有找到任何@Embedded
注释示例(唯一一个看起来相关并带来一些希望的注释)来做这样的事情。我想最终得到类似的东西:
mongodb - 在 Kotlin 中,为什么杰克逊在某些情况下无法解组非注释对象而不是在其他情况下
我正在使用 Kotlin 和 Jongo 来访问 MongoDB。Jongo 使用 Jackson 序列化/反序列化对象,以便从 MongoDB 中保存和读取它们。我使用 Jackson-Kotlin 模块来帮助使用构造函数序列化 Kotlin 数据类。
这是一个可以很好地序列化的数据类的示例:
这是一个无法反序列化的类似类的示例:
Jongo 抛出以下异常,因为 Jackson 反序列化失败:
如果我像这样完全注释 Session 数据类,它确实有效:
我的问题是,为什么它适用于 Workflow?当 Session 数据类没有完全注释时,导致解组失败的细微差别是什么?
编辑
不同之处在于我测试了从 Gradle 运行它的 Workflow 测试用例,它使用了不同版本的 Kotlin,然后是我从 IDEA IDE 运行的 Session 测试用例。IDEA 的 Kotlin 插件的更新也更新了 IDEA 用来运行测试用例的 Kotlin 版本,我没有注意到。这导致 Kotlin 和 Jackson-Kotlin 库的版本不匹配。下面接受的答案指出了需要配置什么才能让事情再次运行。
java - 想要遍历一半的 mongoDB 并用另一个查询遍历剩下的一半
我收到此错误:
线程“主”com.mongodb.MongoCursorNotFoundException 中的异常:查询失败,错误代码 -5 和错误消息 'Cursor 304054517192 not found on server mongodb2:27017' on server mongodb2:27017 at com.mongodb.operation.QueryHelper.translateCommandException(QueryHelper .java:27) 在 com.mongodb.operation.QueryBatchCursor.getMore(QueryBatchCursor.java:215) 在 com.mongodb.operation.QueryBatchCursor.hasNext(QueryBatchCursor.java:103) 在 com.mongodb.MongoBatchCursorAdapter.hasNext(MongoBatchCursorAdapter. java:46) at com.mongodb.DBCursor.hasNext(DBCursor.java:155) at org.jongo.MongoCursor.hasNext(MongoCursor.java:38) at com.abc.Generator.Generate(Generator.java:162) at com.abc.main.main(main.java:72)
我认为这是因为查询运行时间过长。
所以我打算使用find()
和遍历一半的集合来查询 mongo。
然后我想使用另一个find()
查询并遍历剩余的一半集合。
您能否帮助如何将光标直接放在集合的第一半位置?该文档似乎没有为它提供任何功能。
我基本上只是使用一个find()
并遍历一个包含 100000 条记录的集合,同时通过ssh
.
java - 使用 Jongo 时允许使用光盘
allowDiscUse: true
使用jongo查询MongoDB时有没有办法添加?我发现这样的错误 - `排序超过了 104857600 字节的内存限制,但没有选择外部排序。中止操作。通过 allowDiskUse:true 选择加入可以以这样的方式被阻止,你的聚合看起来像
但据我所知Aggregate
,Jongo 中的类仅将管道应用于自身,然后您可以使用as
方法执行。
有没有办法将该参数传递给 mongo 而无需从 Jongo 切换到其他东西?
java - 使用 jongo 将 JAVA 对象与 MongoDB 文档映射
嗨我有以下格式的集合
我制作了 3 个非常简单的类来映射对象。餐厅、地址和等级。他们有以下格式餐厅
地址
年级
我已经编写了最简单的代码来只是 toString() 一个映射对象,看看我得到了什么
此代码输出
我似乎无法修复我得到的邮政编码和餐厅 ID 的空值。
有人请帮忙。谢谢。