Mongoose: Bidang array yang diperlukan melempar kesalahan saat ditetapkan sebagai array kosong

Dibuat pada 10 Feb 2015  ·  3Komentar  ·  Sumber: Automattic/mongoose

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.

backwards-breaking

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.

Semua 3 komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat