数据没有通过mongoosastic从弹性搜索索引中删除?

Dro*_*cid 5 mongodb express elasticsearch mongoosastic

我在MEAN堆栈程序中有mongoosastic设置.一切正常,除非我从mongodb删除文档时,它不会在elasticsearch索引中删除.所以每次我进行包含删除项目的搜索时,都会返回已删除的项目,但是当它被水合时它会为null.mongoosastic处理从ES索引删除?我是否必须编制索引刷新程序?

var mongoose = require('mongoose');
var mongoosastic = require("mongoosastic");
var Schema = mongoose.Schema;

var quantumSchema = new mongoose.Schema({
    note: {
        type: String,
        require: true,
        es_indexed: true
   }        
});

quantumSchema.plugin(mongoosastic);

var Quantum = mongoose.model('Quantum', quantumSchema);

Quantum.createMapping(function(err, mapping){
  if(err){
    console.log('error creating mapping (you can safely ignore this)');
    console.log(err);
  }else{
    console.log('mapping created!');
    console.log(mapping);
  }
});
Run Code Online (Sandbox Code Playgroud)

Dro*_*cid 0

我通过改变删除数据的方式解决了这个问题。

我正在使用:

  Quantum.findByIdAndRemove(quantumid)
Run Code Online (Sandbox Code Playgroud)

我把它改成:

  Quantum.findById(quantumid, function(err, quantum) {
      quantum.remove(function(err, quantum) {
         if (err) {
            console.log(err);

            return;
         }                
       });
   });
Run Code Online (Sandbox Code Playgroud)

我没有研究这个工作的原因,但它解决了问题,我继续前进。