首页 > 解决方案 > MongoDb 约束只允许集合中的一个条目

问题描述

我可以制定一个约束来防止一个集合中出现多个文档吗?该集合将存储数据库结构的版本

在 SQL 中,我会在表上设置一个检查约束,检查表中的行数是否小于 2

标签: mongodbcollectionsconstraintsdocument

解决方案


我相信最好的方法是使用User-Defined Roles来提供Collection-Level Access Control。您可以创建一个具有初始的文档,database_version然后为您的用户分配一个角色,该角色限制对集合的访问以仅查找更新文档。

PS:在寻找解决方案时,您可能会遇到一种可能的替代方案,称为Capped Collections。如果更新导致文档大小增加,则它不适用于您的情况,因为 Capped Collections 会限制更新。


推荐阅读