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}
});

我有另一个UserReview.

我尝试了 mongoosastic插件,但找不到索引引用模式的方法。我想索引评论用户的姓名。所以我只是为此使用了弹性搜索客户端。

每次创建/更新/删除评论时,我都会在数据库中查找并使用从数据库中检索到的值更新弹性搜索索引。更新嵌入式架构时,是否有更好的方法来更新索引?谢谢

4

1 回答 1

1

这可以使用mongoosastic来完成,在 populate 中有一个类似于 in 的选项Mongoosemongoosastic您可以使用它来索引 mongoose 引用。

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

您可以在此处的文档中找到有关此的更多信息。

于 2016-06-17T18:38:17.110 回答