首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据没有通过mongoosastic从elasticsearch索引中删除吗?

数据没有通过mongoosastic从elasticsearch索引中删除吗?
EN

Stack Overflow用户
提问于 2015-09-17 02:21:36
回答 3查看 920关注 0票数 6

我在MEAN stack程序中使用了mongoosastic设置。一切正常,除了我从mongodb中删除一个文档时,它没有在elasticsearch索引中被删除。因此,每次我执行包含删除项目的搜索时,都会返回已删除的项目,但当它被加水时,它将为null。mongoosastic是否处理从ES索引中删除?我必须编写索引刷新程序吗?

代码语言:javascript
复制
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);
  }
});
EN

回答 3

Stack Overflow用户

发布于 2015-11-19 04:05:12

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

我使用的是:

代码语言:javascript
复制
  Quantum.findByIdAndRemove(quantumid)

我将其切换为:

代码语言:javascript
复制
  Quantum.findById(quantumid, function(err, quantum) {
      quantum.remove(function(err, quantum) {
         if (err) {
            console.log(err);

            return;
         }                
       });
   });

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

票数 0
EN

Stack Overflow用户

发布于 2016-01-09 14:50:22

我不知道你使用的是哪个版本的mongoosastic,但我使用的是mongoosastic@3.6.0,每当我使用Model.findByIdAndRemoveModel.remove删除我的索引文档时,它就会被删除。因此,试着用删除文档的方式来交叉检查。

票数 0
EN

Stack Overflow用户

发布于 2021-06-27 02:24:43

我也犯了同样的错误。如果您查看Documentation,就会发现您必须在删除文档后显式删除该文档。这就是我现在做删除的方式。

代码语言:javascript
复制
const deleteOne = Model => async (id)=> {
const document = await Model.findByIdAndDelete(id);

if (!document) {
    return new Result()
    .setSuccess(false)
    .setError('Unable to delete Entity with ID: ' + id + '.')
}
//this ensures the deletion from the elasticsearch index
document.remove();
return new Result()
.setSuccess(true)
.setData(document)
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32615918

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档