从Elasticsearch响应数组中删除对象

时间:2016-06-20 10:16:15

标签: javascript node.js express elasticsearch

我试图从我的Elasticsearch结果查询中删除和反对,但是这个对象会一直存在:

这是我的代码:

exports.searchUserByKeyWord = (req, res) => {
    User.search(byKeyWordQuery(req), geoDistance(), (err, users) => {
        if (err) requestError(res, err)
            let result = []
            for(let user of users.hits.hits) {
                delete user.address.full
                result.push(user)
            }
        sendJsonResponse(res, 200, result)
    })
}

就像你可以看到我使用删除但它不起作用,我无法理解的是,当我用sendJsonResponse(res, 200, result)替换sendJsonResponse(res, 200, result[0].address.full)result[0].address.full我发现此地址已成功删除,但当我使用Postman测试我的API而未添加SELECT LEFT(ReqPhone, 4), DATEADD(DAY,0, DATEDIFF(DAY, 0, SessionID)) AS dayCreated, COUNT(*) AS tally FROM yourTable GROUP BY LEFT(ReqPhone,4), DATEADD(DAY, 0, DATEDIFF(DAY, 0, SessionID)) 时,地址完整字段仍然存在...

1 个答案:

答案 0 :(得分:1)

你删除后重新索引你的elasticsearch数据吗?即使您已从磁盘中删除文档

,索引记录也可能会持续存在

更多关于此可以阅读@ https://www.elastic.co/guide/en/elasticsearch/guide/current/update-doc.html