问题:在我的示例中,如果我使用 schema.save ,那么它将在弹性搜索中编入索引
但问题开始当我使用 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'
});
}
});
的
答案 0 :(得分:3)
我喜欢使用 findOneAndUpdate
来回答这个问题示例:强>
注意:传递新:真实选项 upsert:true ,它会起作用
新选项将返回更新或创建的对象,因此内部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'
});
}
});
的