If you've been playing around with the various types, you might have noticed that if you set a type equal to something other than the type you specified, in certain cases it does still work. For example, if I try to set text equal to an object, I'm going to get an error. It's going to say hey, you tried to use a string, but an object showed up instead. However, if I try to set text equal to something like a number, I'm going to go with 23:
var otherTodo = new Todo ({ text: 23 });
This is going to work. That's because Mongoose is going to cast your number into a string, essentially wrapping it in quotes. The same thing is going to be true with the Boolean. If I pass in a Boolean like this:
var otherTodo = new Todo ({ text: true ...