2015-09-16 14 views
5

私はMEANスタックプログラムの中でmongoosastic setupを持っています。 mongodbから文書を削除する場合を除いて、すべてが正しく動作しますが、elasticsearchインデックスでは削除されません。だから私は削除アイテムを含む検索を行うたびに、削除されたアイテムが返されますが、それが水和されるとnullです。 mongoosasticはESインデックスからの削除を処理しますか?インデックス更新をプログラムする必要がありますか?mongoosastic経由でelasticsearchインデックスからデータが削除されていませんか?

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); 
    } 
}); 
+0

あなたが投稿して以来これで運があったことがありますか?私は同じ問題を抱えている。 –

答えて

0

私はデータを削除する方法を変更することで問題を解決しました。

私が使っていた:

Quantum.findByIdAndRemove(quantumid) 

は、私はそれを切り替える:

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

      return; 
     }     
     }); 
    }); 

私はこの作業の理由を調査していないが、それは問題を解決して、私は上に移動しました。

0

私はあなたが使用しているmongoosasticのバージョンを知らないが、私は[email protected]を使用して、私はそれのいずれかModel.findByIdAndRemoveModel.removeを使用してを削除するたびに、私のインデックス付きのドキュメントが削除されます。したがって、あなたがあなたが文書を削除する方法をチェックしてみてください。

関連する問題