我正在使用node-es,我遇到了我想要做的问题:
我想在2个地方索引文档。对于每个我想检查文档是否存在。如果是,请索引新文档。如果没有,那就不要了。而是发布现有文档的更新。
我的问题是我的代码看起来类似于:
es.search({
query : {
field : {
animal : 'kitteh'
}
}
}, function (err, data) {
if(data.hits.length == 0) {
es.index(options, doc, function (err, data) {
// this will result in a POST with path /bawss/man?refresh=true
});
}
});
有没有办法让我更清洁,所以我不必继续筑巢?
答案 0 :(得分:0)
我不确定这是不是你要找的东西。为您的问题添加更多示例。如果你想要一个更干净的代码,试试这样的事情:
var esSearchParams = {
query : {
field : {
animal : 'kitteh'
}
}
}
function checkDocument(es, options, doc) { // this is a closure
return function(err, data) {
if(data.hits.length == 0) {
es.index(options, doc, postResult)
}
}
}
function postResult(err, data) {
// this will result in a POST with path /bawss/man?refresh=true
}
es.search(esSearchParams, checkDocument);