6

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

3 に答える 3

0

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

私が使用していた:

  Quantum.findByIdAndRemove(quantumid)

私はそれを次のように切り替えました:

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

            return;
         }                
       });
   });

この作業の理由を調査しませんでしたが、問題が解決したので先に進みました。

于 2015-11-18T20:05:11.677 に答える