MongoDB中的JSV模式验证?
是否可以在MongoDB中为每个集合存储JSV和模式,然后运行MapReduce来验证文档?将无效文档插入到我可以手动修复的集合中MongoDB中的JSV模式验证?,mongodb,schema,Mongodb,Schema,是否可以在MongoDB中为每个集合存储JSV和模式,然后运行MapReduce来验证文档?将无效文档插入到我可以手动修复的集合中 我需要尽可能少的外部应用程序干预,理想情况下是每天对脏文档进行MapReduces的cron,然后我将手动调查这些文档无效的原因。Map/Reduce可能不是检查架构遵从性的正确方法,因为它不会修改原始集合中的文档。因此,您不能在文档中设置一个标志,表明它已经过验证,并且可能会在每次cron运行时重新验证 建议的办法: 在文档中添加索引的已验证的字段;如果您想对模
我需要尽可能少的外部应用程序干预,理想情况下是每天对脏文档进行MapReduces的cron,然后我将手动调查这些文档无效的原因。Map/Reduce可能不是检查架构遵从性的正确方法,因为它不会修改原始集合中的文档。因此,您不能在文档中设置一个标志,表明它已经过验证,并且可能会在每次cron运行时重新验证 建议的办法:
- 在文档中添加索引的
已验证的
字段;如果您想对模式进行版本设置,这可能是一个数值
- 如有可能,插入时应验证所有文件
- 编写一个脚本,该脚本将查找所有未验证的文档,以匹配当前架构,并根据JSV结果更新
字段validated
- 将特定的验证错误保存到另一个集合或可能的子文档中(如果错误报告的添加最终触发了过量文档移动,您可能需要考虑一些)。