2017-04-25 109 views
3

是否有可能在猫鼬中嵌套模式,并且对孩子有必要的验证器?像这样:猫鼬需要一个子文档吗?

我在文档中找不到任何东西。谢谢。

+1

你试过这个,并得到一个问题吗? –

回答

3

是的,你的模式是正确的。

的猫鼬嵌套模式(子文档)的文档,可以发现here

+0

谢谢!是的,但我没有发现任何关于嵌套模式验证.. –

+0

子文档工作相同的常规文件,唯一的区别是你如何访问他们 –

+0

显然,子文件只有在运行'save() '在母文件上。如果你在父文件中运行了任何'update',子文件将不会被验证。看看这种情况:https://github.com/Automattic/mongoose/issues/5234和:http://mongoosejs.com/docs/validation.html - >“验证是中间件,Mongoose将验证注册为pre ('保存')钩在每个模式默认情况下。“。但是,“您可以使用doc.validate(callback)或doc.validateSync()手动运行验证” – maganap

0

您可以使用嵌套模式中猫鼬。

它也会给你他对每个子模式值的对象ID。

0

我想你会类型的用户模型的子文档更新eventSchema。 您可以使用{ runValidators: true}进行更新。

eventModel.update({ name: 'YOUR NAME' }, { $push: { host: user } }, { runValidators: true}, function(err) { 

})