问题
I have a schema:
var s = new Schema({
links: {
type: [Url]
}
});
In this case I am using the url schema type from https://github.com/bnoguchi/mongoose-types - but I have tried this with other types. Mongoose doesn't seem to validate/use the schema type when in an array - works fine without the array.
How can I define an array of schema types that will validate?
回答1:
Answer from Mongoose creator:
"Unless the Url is a subdocument, validation will not get triggered currently (there is a ticket open somewhere to support richer types). The work-around is to define validation on the array: https://gist.github.com/aheckmann/12f9ad103e0378db6afc"
I ended up creating subdocuments as Mongoose supports validation on them when in array form.
var links = new Schema({
link: URL
});
var s = new Schema({
links: {
type: [links]
}
});
回答2:
Try var s = new Schema({links: [Url]});
来源:https://stackoverflow.com/questions/15047520/arrays-of-schema-types-on-mongoose