gpt4 book ai didi

node.js - elasticsearch.js:updateByQuery(如果存在),否则插入

转载 作者:行者123 更新时间:2023-12-03 01:25:14 30 4
gpt4 key购买 nike

使用elasticsearch.js(node.js)SDK,我们可以使用client.index({ ... })向上插入文档(如果不存在,请插入,否则进行更新)。

但是,如果我只想更新一个特定的字段,例如:

client.updateByQuery({
index: 'test',
body: {
query: { match: { _id: '1' } },
script: { inline: 'ctx._source.hello = "world"' }
}
})

现在,我想创建一个ID为1的文档,如果它的字段hello设置为world时不存在,或者如果id为1的文档存在,则将其hello字段更新为world。这可能吗?怎么样?

最佳答案

您可能正在寻找update API with doc as update。用途如下:

POST test/_update/1
{
"doc":{
"hello": "world"
},
"doc_as_upsert": true
}

关于node.js - elasticsearch.js:updateByQuery(如果存在),否则插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58498230/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com