mam tego schematuMongoose schematu wymagają tablicę, która może być pusta
var StuffSchema = new mongoose.Schema({
_id: { type: String, required: true, unique: true },
name: { type: String, required: true }
});
mongoose.model('Stuff', StuffSchema);
działa dobrze.
Teraz trzeba dodać kolejny schematu „ładunek” zawierający ten
mystuff: { type:[String], ref: 'Stuff', required:true},
to znaczy, chcę mystuff zawierać tablicę identyfikatorów rzeczy, ale to się nie powiedzie się z powodu błędu walidacji, gdy uruchomiony ten kod
mongoose.model('Cargo').create(some data...)
jeśli używam pustej tablicy dla pola mystuff. Wydaje się działać, jeśli mogę zmienić schemat ładunkowej do
mystuff: { type:[String], ref: 'Stuff'},
ale chcę pole mystuff być wymagane i pozwalają puste tablice
Co mogę zrobić, aby tak się stało?
Nie sądzę, aby typ schematu * miał * być ObjectId, musi to być dowolny typ właściwości identyfikatora przywoływanego schematu. Zobacz przykład w dokumentach http://mongoosejs.com/docs/populate.html – dafyddPrys
@dafyddPrys true - wyjaśniono uwagi, dzięki. – ZachB