验证Mongoose中字典中的子文档

时间:2016-03-14 13:09:35

标签: mongodb mongoose mongoose-schema

我有userTasteSchema,其中包含字典字段favorites favoriteSchema个对象。当我保存或更新userTaste时,我想验证字典的元素是有效的favorite个对象。 可能吗? 谢谢

   var userTasteSchema  = new Schema(
        {  
          favorites     : {type: { /* dictionary of favorites */ }, default:{} }
         });

   var favoriteSchema = new Schema(
      {
       name : {type:{String}}
       });

1 个答案:

答案 0 :(得分:0)

您必须更改模型声明。根据{{​​3}}您的代码应如下所示:

var userTasteSchema  = new Schema(
    {  
      favorites     : [ favoriteSchema ]
     });

var favoriteSchema = new Schema(
  {
   name : {type:String}
   });

这就是它。保存父文档UserTaste时,也会运行子项验证。这是docs

  

验证是异步递归的;当你打电话给Model#save时,   也执行子文档验证。如果发生错误,您的   模型#save callback接收它