2015-11-30 2 views
1

Проблема: В моем примере, если я пользователь schema.save, то он будет индексироваться в упругом поискаmongoosastic findOneAndUpdate не индексировать в elasticsearch

но проблема начинает, когда я использую findOneAndUpdate так что не индекс в упругом даже если я вставить (т.е. сохранить)

MovieSchema.findOneAndUpdate(query, reqObject, { 
     upsert: true 
    }, function(err, results) { 
     if (err) { 
      if (!update) { 
       var filePath = path.join(__dirname, "../../movie/images/uploads/") + reqObject.imageUrl; 
       fs.unlinkSync(filePath); 
      } 
      console.log(err) 
      callback({ 
       RESULT_CODE: '-1', 
       MESSAGE: 'System error. Please try again' 
      }); 
     } else { 

      callback({ 
       RESULT_CODE: '1', 
       MESSAGE: 'Movie inserted' 
      }); 

     } 
    }); 

ответ

3

Я люблю ответ, используя findOneAndUpdate

Пример:

Примечание: передать новое: истинный вариант upsert: истинный и его Wi Л.Л. работа

Новый вариант будет возвращать обновленные или созданный объект так внутренне mongoosastic работу, как если вставить объект или обновленный возврат объекта затем ONTY он будет вставить в упругом поисковый индекс

MovieSchema.findOneAndUpdate(query, reqObject, { 
     upsert: true,'new': true 
    }, function(err, results) { 
     if (err) { 
      callback({ 
       RESULT_CODE: '-1', 
       MESSAGE: 'System error. Please try again' 
      }); 
     } else { 

      callback({ 
       RESULT_CODE: '1', 
       MESSAGE: 'Movie inserted' 
      }); 

     } 
    }); 

+0

Если это ответ, вы должны принять его – gmaniac

+0

@gmaniac i can not acce pt мой собственный ответ, только через 2 дня я могу принять свой собственный ответ: D –

+0

http://blog.stackoverflow.com/2009/01/accept-your-own-answers/ –

Смежные вопросы