java - 在 MongoDB 中强制执行模式验证

标签 java mongodb

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

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

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

有什么建议吗?还是我应该拥抱 Mongo 的无模式性,甚至懒得尝试验证数据?

最佳答案

在即将到来的 Mongo 3.2 版本中,他们添加了 document validation (slides)。

您可以使用 validator 为每个集合指定验证规则使用几乎所有 mongo 查询运算符的选项($geoNear$near$nearSphere$text$哪里)。您可以在我的 answers 中阅读更多相关信息。 .

关于java - 在 MongoDB 中强制执行模式验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14877653/

相关文章:

java - 无法实例化以下类

mongodb - 是否可以使用 $inc 通过 Mongoose 更新子文档?

node.js - 如何使用 mongoDb 实现 Express?

java - try catch java

java - 从jsp中的内联java代码中提取字符串

java - 暂时禁用 MouseListener

linux - Debian Linux 脚本。重启MongoDB

javascript - 在 DerbyJS 中使用从 MongoDB 导入的文档

MongoDB "Unrecognized option: net.ssl.PEMKeyFile"

java - 如何给特定领域赋予权重?