1

我有一个, 有一个由 对象组成userTasteSchema的字典字段。当我保存或更新 a时,我想验证字典的元素是有效对象。可能吗?谢谢你favoritesfavoriteSchemauserTastefavorite

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

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

1 回答 1

1

您必须更改模型声明。根据文档,您的代码应如下所示:

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

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

差不多就是这样。当您保存父文档 UserTaste 时,您的子验证也会运行。这是参考

验证是异步递归的;当您调用 Model#save 时,也会执行子文档验证。如果发生错误,您的 Model#save 回调会收到它

于 2016-03-14T13:40:15.633 回答