首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >elasticsearch.js: updateByQuery如果存在,则插入

elasticsearch.js: updateByQuery如果存在,则插入
EN

Stack Overflow用户
提问于 2019-10-22 14:26:58
回答 1查看 558关注 0票数 0

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

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

代码语言:javascript
复制
client.updateByQuery({
  index: 'test',
  body: {
    query: { match: { _id: '1' } },
    script: { inline: 'ctx._source.hello = "world"' }
  }
})

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

EN

回答 1

Stack Overflow用户

发布于 2019-10-22 14:45:39

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

代码语言:javascript
复制
POST test/_update/1
{
  "doc":{
    "hello": "world"
  },
  "doc_as_upsert": true
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58498230

复制
相关文章

相似问题

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