2016-08-12 5 views
0

マングースする方法これは私のスキーマです:MongoDBの中に異なる言語を持つプロパティを格納し、

var cvSchema = new Schema({ 
    name: {type: String, required: true}, 
    alias: {type: String, required: true, minlength: 6, maxlength: 6}, 
    profitCentre: {type:Number, min:1000, max:9999}, 
    city: String, 
    company: String, 
    profession: { 
    type: Schema.ObjectId, 
    ref: 'profession', 
    required: true 
    }, 
}); 

職業プロパティが参照されます。職業は一つの価値を持つことができますが、いくつかの言語があります。これを行う方法に関するベストプラクティスはありますか?

私は2つのオプションを思い付いた:最初のものは、より汎用的ですが、私はそれが困難見つける

var professionSchema = new Schema({ 
     en: 'String', 
     sv: 'String' 
    }); 

var professionSchema = new Schema({ 
    values: [ 
    { 
     lang: {type: String, enum: ['sv', 'en']}, 
     name: {type: String, required: true} 
    } 
    ] 
}); 

はオプション2:(EN =英語、SV =スウェーデン)簡単なクエリを実行する(など)。 2つ目のクエリでクエリを実行する方が簡単です。ここには間違ったやり方がありますか?

答えて

0

私はこれらのどちらかが間違っているとは見当たりません。あなたが達成しようとしているものに最も適したソリューションを使用すべきだと思います。

さらに簡単にするために、this npmパッケージをチェックアウトすることを検討することもできます。

関連する問題