2017-02-11 4 views
1

나는이유효성을 배열 콘텐츠 몽구스 모델

valid_days: { 
    type: [Number] 
    }, 

같은 몽구스 모델을 가지고 있지만 배열은 다음 예 일치하는 경우 validade 할 :

[1,2,3,4,5,6,7] 

또는 이것의 조합을

처럼,
[1,3,5] 

어떻게 몽구스로이 작업을 수행 할 수 있습니까?

답변

0

당신은 mongoose custom validators를 사용하여 배열의 일부 값 유효성을 검사 할 수 있습니다 : 예를 들어

var possibilities = [1, 2, 3, 4, 5, 7]; 

var testSchema = new mongoose.Schema({ 
    valid_days: { 
     type: [Number], 
     validate: { 
      validator: function(value) { 
       for (var i = 0; i < value.length; i++) { 
        if (possibilities.indexOf(value[i]) == -1) { 
         return false; 
        } 
       } 
       return true; 
      }, 
      message: '{VALUE} is not a valid day' 
     } 
    }, 
}); 

을 :

Test.create({ "valid_days": [1, 3, 5, 6] }, function(err, res) { 
    // this trigger error : 6 not in possibilities array 
    if (err) 
     console.log(err); 
    else 
     console.log("OK"); 
}); 

Test.create({ "valid_days": [1, 3, 5] }, function(err, res) { 
    // ok 1,3,5 are in possibilities array 
    if (err) 
     console.log(err); 
    else 
     console.log("OK"); 
}); 
+0

너무 감사합니다! 정확히 필요한 것! –