问题标签 [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.

0 投票
2 回答
810 浏览

jackson - MongoDb 和 Jongo - 在字段中转义哈希 (#)

我正在尝试使用 Jackson/Jongo 读取已保存在 MongoDB 中的数据并将其反序列化回 POJO。当字段不包含哈希时,这可以正常工作。当字段包含哈希时,Jongo 认为这是一个占位符,因此期望另一个对象来替换它。

例如.. Person ed = collection.findOne("{name:\"ed\"}").as(Person.class); .. 工作正常。

然而.. Sale s = collection.findOne("{orderRef:\"#1000\"}").as(Sale.class); .. 不起作用。

我试过传入一个哈希作为参数,但这仍然失败。例如: Sale s = collection.findOne("{orderRef:\"#1000\"}", "#").as(Sale.class);

有没有其他人有过这个问题的经验?任何帮助都会有很大帮助!

谢谢,

埃德

0 投票
1 回答
52 浏览

java - Why Jongo 1.0 removed support for private properties

Recently I migrated from Jongo 0.4 to Jongo 1.0, and suddenly I started to receive this exception:

That means that Jongo now has problems setting a private field, which in 0.4 wasn't a problem.

Is there some reason for this limitation?

0 投票
1 回答
462 浏览

java - Jongo 解析 JSON 时出错

我正在使用 Java Play Framework、MongoDB 和 Jongo 的组合作为基本 Web CRUD 应用程序的过渡。即使我的字符串不包含任何非法字符,我也会不断收到 JSON 解析异常。它实际上在语句末尾关闭大括号时失败了。以下是我的错误和代码。查询字符串只是一个字符串构建器,搜索对象是否为空或有值,如果有值则附加到字符串中。

钟戈法:

控制器方法:字符串生成器示例:

给我这个错误:

以“}”上的错误结束它。

除此之外,如果我尝试通过输入 \" 来转义字符,使其变为 \"date\",它将解析并出错,如下所示:

0 投票
2 回答
2782 浏览

java - 使用 MongoDB、Java 和 Jongo 创建动态查询

我正在使用 Java、使用 Java 而不是 Scala、MongoDB 和 Jongo 的 Play 框架作为基本 Web CRUD 应用程序的组合。即使我的字符串不包含任何非法字符,我也会不断收到 JSON 解析异常。它实际上在语句末尾关闭大括号时失败了。以下是我的错误和代码。查询字符串只是一个字符串构建器,搜索对象是否为空或有值,如果有值则附加到字符串中。

钟戈法:

控制器方法:字符串生成器示例:

给我这个错误:

以“}”上的错误结束它。

除此之外,如果我尝试通过输入 \" 来转义字符,使其变为 \"date\",它将解析并出错,如下所示:

我真的可以这样做吗,或者因为它插入了 Java,引号将围绕整个字符串,因此它试图将它作为单个 JSON 字段读取而不是整个查询?

0 投票
4 回答
4307 浏览

java - 在使用 Jongo 和 MongoDB 的杰克逊反序列化中将 ObjectId _id 重命名为 id

我刚刚开始使用 play 框架、jongo 和 MongoDB 开展一个项目。该项目最初是在 Play 2.1 中编写的,带有带有注释的字符串 id 字段的 pojos:@Id 和 @ObjectId 这将作为 ObjectId 持续存在于 Mongo 中,并且在反序列化时会将 id 输出为:“id”:“53fcb9ede4b0b18314098d10”例如.

由于升级到 Jongo 1.1 和 Play 2.3.3 id 属性在反序列化时始终命名为“_id”,我希望该属性保留字段名称但我不能使用 @JsonProperty("custom_name") 作为 Jongo @Id 注释@JsonProperty("_id") 在幕后做。

如果我通过 RoboMongo 查看 POJO,则在 MongoDB 中持久化时的 POJO 看起来像这样

但是,当我反序列化它们时,如果我保留两个注释,我会得到以下 json:

如果我只使用 @Id 注释,则以下输出。

我有一个使用上面的 PretendPojo 显示的测试用例:

当尝试使用自定义反序列化器时,我永远无法获得对象 ID,我似乎只能访问当前正在反序列化的日期/时间/时间戳数据。

理想情况下,我正在寻找的输出是:

任何帮助将不胜感激!:)

0 投票
2 回答
430 浏览

java - 在测试模式下运行时,Play 框架中的 Mongo DB 中没有数据

我有使用 Mongo 数据库(使用play-jongo)的播放框架应用程序 v2.2。我在 /test 文件夹中有一些测试单元类。但是,如果我使用test命令运行单元类或直接从 eclipse 运行,则从 Mongo DB 中根本找不到数据,但如果我正常运行应用程序,我可以看到数据。我使用了Helpers.faceApplication()方法,但仍然没有数据。

下面是单元测试代码:

如果我运行测试单元,myUser 总是返回 null。

我觉得 Helpers.fakeApplication 没有读取,/conf/applicaton.conf所以它没有连接到 mongo db。

任何人都知道在测试单元中运行时如何将播放连接到 mongo db?

0 投票
1 回答
489 浏览

java - 如何在 jongo 插入函数上发送 mongodb shell 函数

我正在尝试在 Jongo 驱动程序函数上使用 MongoDB shell 函数(如 Date())来为我的 fiedd 生成一个值。代码如下:

但这似乎不起作用,有什么建议吗?

这些是错误行

0 投票
2 回答
755 浏览

mongodb - Jongo MongoCollection.insert(String query) 将 # 解析为参数。如何避免它

我正在调用 jongo 的 mongoCollection.insert(String query) 方法,以便将 JSON 插入集合中。JSON 在字段值中包含 # 字符。但由于 # 用作查询参数标记指示符,我最终会收到解析错误,并显示“传递给查询的参数不足”消息。

如何保存包含 # 字符的动态 JSON 字符串(请注意,我不知道 JSON 的结构或架构)

示例:{ "order_id":"123445", "order_name":"test val#1" }

“test val#1”只是用户输入的字符串值。我不想对每个字段值进行编码,在我的情况下它甚至可能是不可能的。请让我知道是否有解决方法。

谢谢

0 投票
2 回答
2018 浏览

mongodb - 使用 Jongo 在 MongoDB 中使用空字段保存 POJO

所以我有一个 POJO 对象,我正在使用 Jongo 创建并保存到 MongoDB 集合中:

将对象保存到 mongo 的测试类:

此测试可以很好地保存对象:

但我真正想要的是 objectB 中的空映射显示为

我知道集合中的字段可以有一个空值,但我不知道如何使用 jongo 驱动程序执行此操作,有什么想法吗?

仅供参考,我使用的是 jongo V1.1

0 投票
1 回答
2342 浏览

java - 尝试将类映射到 playframework 上的文档时出现 MarshallingException

我正在用 Java 编写一个 Play 2.3.2 应用程序,并且我正在使用 Jongo 作为 MongoDB 的驱动程序。在对我的代码进行一些更改后,我的应用程序给了我运行时错误。错误出现在 getUser 方法的第四行。这是我使用的代码:

Module类添加到后Company,上面几行中的方法as无法解组find.

这是运行时错误: