Я выполняю синхронизацию в режиме реального времени 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.
Я что-то не так делаю в этом?