2014-09-24 8 views
18

मैं नेवला के साथ शुरू और मुझे पता है कि विन्यास के इस प्रकार कैसे करना चाहते हैं:विदेशी कुंजी नेवला

:

enter image description here

एक नुस्खा विभिन्न घटक

मैं अपने दो मॉडल मिल गया मिल गया

घटक और पकाने की विधि:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var IngredientSchema = new Schema({ 
    name: String 
}); 

module.exports = mongoose.model('Ingredient', IngredientSchema); 


var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var RecipeSchema = new Schema({ 
    name: String 
}); 

module.exports = mongoose.model('Recipe', RecipeSchema); 
+0

मुझे लगता है कि आप कैसे कह रहे हैं रेफ ऑपरेटर का उपयोग करने के लिए? – Tim

उत्तर

36

चेक नीचे अपडेट किया गया कोड, विशेष रूप से इस हिस्से में: {प्रकार: Schema.Types.ObjectId, रेफरी: 'घटक'}

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var IngredientSchema = new Schema({ 
    name: String 
}); 

module.exports = mongoose.model('Ingredient', IngredientSchema); 


var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var RecipeSchema = new Schema({ 
    name: String, 
    ingredients:[ 
     {type: Schema.Types.ObjectId, ref: 'Ingredient'} 
    ] 
}); 

module.exports = mongoose.model('Recipe', RecipeSchema); 

बचाने के लिए:

var r = new Recipe(); 

r.name = 'Blah'; 
r.ingredients.push('mongo id of ingredient'); 

r.save(); 
+0

मैं कैसे बचा रहा हूं? इस पल के लिए, मैं इस तरह से बचत कर रहा हूं: । पोस्ट (फ़ंक्शन (रिक, आरएस) { var नुस्खा = नई पकाने की विधि(); recipe.name = req.body.name; recipe.save (function (err) { अगर (गलती) res.send (गलती); res.json ({संदेश: 'नुस्खा बनाया'}); }); }) – devtest654987

+0

आप सामग्री अलग से बचाने के लिए और उसके बाद में आईडी धक्का की आवश्यकता होगी सरणी। – Tim

+0

Thx मैंने अपने स्वयं से कोशिश की है और यह काम कर रहा है – devtest654987

संबंधित मुद्दे