如何做到这一点(https://docs.mongodb.com/v3.2/core/document-validation/):
db.createCollection( "contacts",
{ validator: { $or:
[
{ phone: { $type: "string" } },
{ email: { $regex: /@mongodb\.com$/ } },
{ status: { $in: [ "Unknown", "Incomplete" ] } }
]
}
} )
在此:
// database.js
import { Mongo } from 'meteor/mongo';
export const Test = new Mongo.Collection('Test');
由于
答案 0 :(得分:0)
首先需要在meteor中定义架构。
Lists.schema = new SimpleSchema({
name: {type: String},
incompleteCount: {type: Number, defaultValue: 0},
userId: {type: String, regEx: SimpleSchema.RegEx.Id, optional: true}
});
此示例使用一些简单的规则定义架构:
使用模式验证文档非常简单。我们可以写:
const list = {
name: 'My list',
incompleteCount: 3
};
Lists.schema.validate(list);
在这种情况下,由于列表根据模式有效,validate()行将运行没有问题。但是,如果我们写道:
const list = {
name: 'My list',
incompleteCount: 3,
madeUpField: 'this should not be here'
};
Lists.schema.validate(list);
然后validate()调用将抛出ValidationError,其中包含有关列表文档错误的详细信息。