mongoosastic findOneAndUpdate在elasticsearch中没有索引

问题:在我的例子中,如果我用户schema.save那么它将索引在弹性search

问题开始时,我使用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' }); } }); 

我喜欢使用findOneAndUpdate的答案

例:

注意:传递新的:真正的选项upsert:真 ,它会工作

选项将返回更新或创build的对象,所以内部mongoosastic工作,如果插入对象或更新的对象返回然后ONTY它将插入弹性search索引

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