Tôi có một lược đồ như thế này:Tại sao tôi không thể xác thực tài liệu được nhúng trong mongoose? Cách đúng để làm điều này là gì?
var testSchema = new Schema({
foo: { type: String, required: true, trim: true },
bar: {
fooBar: { type: String },
barFoo: { type: String }
}
});
Và tôi phải xác nhận giá trị của bar
dựa trên foo
giá trị, một cái gì đó như thế này:
testSchema.path("bar").validate(function(bar){
if(this.foo === "someValue")
//return custom validation logic 1
else if(this.foo === "anotherString")
//return custom validation logic 2
else
return false;
});
Nhưng khi tôi cố gắng chiến thuật ứng dụng của tôi tôi nhận được lỗi sau:
/Users/Renato/github/local/prv/domain/models/testModel.js:34
testSchema.path("bar").validate(function(bar){
^
TypeError: Cannot call method 'validate' of undefined
Tôi đang làm gì sai ở đây? Whats cách chính xác để xác nhận đối tượng này ??? Tôi googled cho nó nhưng tôi dường như không thể tìm thấy bất cứ điều gì ra! Ngay cả cập nhật phiên bản mongoose tôi để ~3.5.5
Vâng, tuyệt vời, điều đó đã làm được điều đó! Cảm ơn! – renatoargh
Tôi có cùng một vấn đề với việc tạo và cập nhật, nếu tôi làm 'testModel.create ({foo: {foobar: 'foo'}})' nó không hoạt động, có cách giải quyết nào không? @ jonathan-lonowski – kilianc