2017-03-16 3 views
0

私はMEANスタックで使用している従業員情報imのモデルを持っており、店舗モデルで作業する店舗名を参照したいと考えていますが、以下は正しいでしょうか?ExpressJsで別のモデル値を参照するにはどうすればよいですか?

従業員数:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 
var muv = require('mongoose-unique-validator'); 

var schema = new Schema({ 
    firstName: {type: String, required: true}, 
    lastName: {type: String, required: true}, 
    empId: {type: String, required: true, unique: true}, 
    num: {type: String, required: true}, 
    job: {type: String, required: true}, 
    store: {type: Schema.Types.storeName, ref: 'Stores'}, 
}); 

schema.plugin(muv); 

module.exports = mongoose.model('Message', schema); 

店舗:

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

var schema = new Schema({ 
    storeName: {type: String, required: true}, 
    lat: {type: String, required: true}, 
    long: {type: String, required: true}, 
}); 

module.exports = mongoose.model('Stores', schema); 

答えて

0

あなたが近いです!名前ではなくストアのIDを参照したいとします。 Mongooseが「Join」を実行すると、ObjectIDストアがstoreプロファイルフィールドに表示され、StoresコレクションのObjectIDに一致します。

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 
var muv = require('mongoose-unique-validator'); 

var schema = new Schema({ 
    firstName: {type: String, required: true}, 
    lastName: {type: String, required: true}, 
    empId: {type: String, required: true, unique: true}, 
    num: {type: String, required: true}, 
    job: {type: String, required: true}, 
    store: {type: type: Schema.ObjectId, ref: 'Stores'}, //Reference store ObjectId. 
}); 

schema.plugin(muv); 

module.exports = mongoose.model('Message', schema); 
+0

タイプミスがあります。タイプ:ストアの横に2回入力します。 – user7629970

関連する問題