4

我正在寻找方法来验证插入 MongoDB 的数据是否与模式匹配,例如具有所有必需的字段和正确的数据类型。我知道 Mongo 本身是无模式的,但如果我可以在将数据传递给 Mongo 驱动程序之前在应用程序级别验证数据,那就太好了。

我看过 JSON 架构。我最大的犹豫是我只能找到一个用于模式验证的 Java 库,我不知道我是否应该信任它,我更喜欢 Apache 或 Google 支持的库。

我还查看了 Apache Thrift、Avro 和 Protocol Buffers,它们不是专门的验证框架,但它们都有一个模式的概念。如果有一种方法可以背负其中一个来执行验证,我会很感兴趣。

有什么建议么?还是我应该接受 Mongo 的无模式,甚至不去尝试验证数据?

4

2 回答 2

5

在即将发布的Mongo 3.2 版本中,他们添加了文档验证幻灯片)。

您可以使用验证器选项为每个集合指定验证规则,该选项使用几乎所有 mongo 查询运算符(除了$geoNear$near$nearSphere$text$where)。您可以在我的一个答案中阅读更多相关信息。

于 2015-11-09T04:42:27.537 回答
3

不确定您是否仍在寻找,但对象文档映射器 (ODM) 可以解决问题。

我已经检查了MorphiaSpring Data - MongoDB,它们都会处理您的类型安全问题,因为它们会将您的文档直接映射到 Java 类。

于 2013-07-19T21:36:28.120 回答