Saya memiliki bidang array dengan skema berikut di bidang itu:
parents:
type: 'Array'
required: true
Ketika saya mencoba membuat dokumen dengan data berikut:
data =
parents: []
Translation.create data, (err, translations) ->
console.log err, translations
Saya mendapatkan kesalahan berikut:
ValidationError: Path `parents` is required.
Jika saya memasukkan nilai ke dalam array, itu berfungsi, seperti:
data =
parents: ['blah']
Demikian pula, jika saya menghapus required: true
dari skema, itu juga mulai berfungsi.
Apakah array kosong tidak dianggap memuaskan untuk validasi "wajib"? Saya mengerti itu salah dalam javascript, tetapi ada banyak kasus di mana array dan objek kosong dimaksudkan dalam dokumen Mongo.
Setuju, kami juga tersandung dalam hal ini.
Perilaku yang diasumsikan dari required: true
bagi kami adalah keberadaan array, bukan array yang membutuhkan setidaknya satu elemen.
Setuju bahwa bidang array yang diperlukan harus menerima array kosong. Saya selalu memikirkannya seperti ini, sampai saya punya masalah dengan Mongoose kemarin.
Akan menutup ini demi #5139. Akan mengubah perilaku ini di 5.0.
Komentar yang paling membantu
Setuju bahwa bidang array yang diperlukan harus menerima array kosong. Saya selalu memikirkannya seperti ini, sampai saya punya masalah dengan Mongoose kemarin.