如何在MongoDB中应用约束?
我已经开始使用MongoDB,而且我对它相当陌生。 是否有任何方法可以对MongoDB中的文档应用约束? 例如指定主键或将属性作为唯一属性? 或者指定某个特定属性大于最小值?作为一个“无模式”数据库,您提到的一些内容必须从应用程序端而不是数据库端进行约束。(如“最小值”) 但是,您可以创建索引(要查询的键——请记住,一个查询一次只能使用一个索引,因此通常最好围绕查询设计索引,而不是只为可能查询的每个字段编制索引): 您还可以创建唯一索引,这将强制执行与唯一约束类似的唯一性(它确实有一些警告,例如数组字段):如何在MongoDB中应用约束?,mongodb,Mongodb,我已经开始使用MongoDB,而且我对它相当陌生。 是否有任何方法可以对MongoDB中的文档应用约束? 例如指定主键或将属性作为唯一属性? 或者指定某个特定属性大于最小值?作为一个“无模式”数据库,您提到的一些内容必须从应用程序端而不是数据库端进行约束。(如“最小值”) 但是,您可以创建索引(要查询的键——请记住,一个查询一次只能使用一个索引,因此通常最好围绕查询设计索引,而不是只为可能查询的每个字段编制索引): 您还可以创建唯一索引,这将强制执行与唯一约束类似的唯一性(它确实有一些警告,例
要超越索引中本机可用的唯一性约束,您需要使用及其支持基于字段的功能。这将为您提供诸如最小值之类的支持,但仅当更新通过您的Mongoose模式/模型时才提供支持 MongoDB 3.2更新 MongoDB现在本机支持文档验证 示例来自:
db.createCollection(“联系人”,
{验证器:{$or:
[
{phone:{$type:“string”},
{电子邮件:{$regex:/@mongodb\.com$/},
{状态:{$in:[“未知”,“不完整”]}
]
}
} )
应该提到的是,根据链接,用户可以绕过此验证。然而,这是一个很好的工具。