4

私は次のマングーススキーマを持っています:

var ReviewSchema = new Schema({
    title: String,
    details: String,
    user: {type: ObjectId, ref:'User'},
});

var SubjectSchema = new Schema({
    name: {type: String, required: true},
    website: {type: String, index: { unique: true }},
    review: {type: [ReviewSchema], es_indexed:true}
});

で参照されている別のUserスキーマがありますReview

mongoosasticプラグインを試しましたが、参照されたスキーマにインデックスを付ける方法が見つかりません。レビューのユーザー名を索引付けしたい。そのため、これにはエラスティック検索クライアントを使用しました。

レビューの作成/更新/削除のたびに、データベースを検索し、データベースから取得した値でエラスティック検索インデックスを更新しました。埋め込みスキーマが更新されたときにインデックスを更新するためのより良い方法はありますか? ありがとう

4

1 に答える 1

1

これはmongoosasticMongooseを使用して実行できます。 populate にはのようなオプションがあり、これを使用して mongoosemongoosastic参照にインデックスを付けることができます。

ReviewSchema.plugin(mongoosastic, {
  populate: [
    {path: 'User', select: 'name'}
  ]
})

詳細については、こちらのドキュメントを参照してください。

于 2016-06-17T18:38:17.110 に答える