4

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
  • Seems that it will only work with built in types. Doesn't look like I can inject the new type in the check. Commented Feb 27, 2013 at 19:14

2 Answers 2

10

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]
  }
});
Sign up to request clarification or add additional context in comments.

Comments

0

Try var s = new Schema({links: [Url]});

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.