2016-05-04 3 views
0

Использование мангуста, я пытаюсь определить схемы:Mongoose: чередуя схемы внутри схемы

var BookSchema = new Schema({ 
    author: String 
}); 

var CarSchema = new Schema({ 
    color: String 
}); 

var ProductSchema = new Schema({ 
    title: String, 
    type: String 
}); 

Я хотел бы включить в product либо car схемы или book схему, основанную на значении type поле. Так что конечный результат будет выглядеть следующим образом:

[{ 
    title: 'Think and grow rich', 
    type: 'book', 
    book: {author: 'Napoleon Hill'} 
}, { 
    title: 'Toyota corolla', 
    type: 'car', 
    car: {color: 'red'} 
}] 

До сих пор я нашел два варианта, оба не являются оптимальными:

  1. Включите как car и book в каждом product.
  2. Использование Mixed тип схемы внутри product.

Любые другие варианты?

ответ