Возникла проблема при индексации ссылок mongodb на поиск elasti c - PullRequest
0 голосов
/ 14 апреля 2020

Я выполняю синхронизацию в режиме реального времени c от mongodb до elasti c Поиск с использованием модуля узла mongoosasti c.

Я могу синхронизировать схему c basi c, но перед проблема с синхронизацией ссылочного ключа mongodb

var itemsSchema = new mongoose.Schema({
  name: { type: String, es_indexed: true },
  subject: { type: String, es_indexed: true },
  created_by: { type: mongoose.Schema.ObjectId, ref: 'User' , es_schema: User , es_indexed : true },
}, { collection: 'items' });



itemsSchema.plugin(mongoosastic, {
    hosts: "MY_ELASTIC_HOST_URL,
    populate: [
      {path: 'created_by', select : "username"}
    ]
})


Схема пользователя выглядит следующим образом -:

const userSchema = new mongoose.Schema({
    username: { type: String },
    address : { type: String },
    city : { type: String }
}, { collection: 'users' });

После использования этой структуры, когда я вставляю новый элемент в элемент базы данных, не выталкивается к elasti c экземпляру поиска, но если я удаляю это поле es_schema из сообщения по ключу, то оно работает, но сохраняет posts_by как "posts_by": "5c3c81ce43111a562345322 c", который хранит идентификатор объекта в поиске elasti c.

Я хочу сохранить заполненные данные в поиске elasti c.

Я что-то не так делаю в этом?

...