我已经开始使用MongoDB了,我对它很新.有什么办法可以在MongoDB中对文档应用约束吗?像指定主键或将属性视为唯一?或者指定特定属性是否大于最小值?
Joh*_*yHK 49
要超越索引中本机可用的唯一性约束,您需要使用Mongoose之类的东西及其支持基于字段的验证的能力.这将为您提供最低价值等支持,但仅限于更新通过您的Mongoose模式/模型时.
MongoDB 3.2更新
MongoDB现在支持文档验证.
文档中的示例:
db.createCollection( "contacts",
{ validator: { $or:
[
{ phone: { $type: "string" } },
{ email: { $regex: /@mongodb\.com$/ } },
{ status: { $in: [ "Unknown", "Incomplete" ] } }
]
}
} )
Run Code Online (Sandbox Code Playgroud)
Eve*_*man 20
作为一个"无模式"的数据库,你提到的一些东西必须从应用程序方面而不是数据库方面受到限制.(例如"最低价值")
但是,您可以创建索引(要查询的键 - 请记住,查询一次只能使用一个索引,因此通常最好围绕查询设计索引,而不是仅为您可能查询的每个字段编制索引): http://www.mongodb.org/display/DOCS/Indexes#Indexes-Basics
您还可以创建唯一索引,这将强制类似于唯一约束的唯一性(它确实有一些警告,例如数组字段):http: //www.mongodb.org/display/DOCS/Indexes#Indexes-unique %3Atrue
| 归档时间: |
|
| 查看次数: |
27201 次 |
| 最近记录: |