elasticsearch-js使用upsert和params更新文档

时间:2019-01-25 10:48:01

标签: javascript node.js elasticsearch

我的文档只有一个字段:numberReqs 当我执行时:

client.update({
  index: 'index',
  type: 'type',
  id: 'id',
  body: {
    script: "def docSrc = ctx._source; docSrc.numberReqs+=nubmerReqsToAdd;",
    params: {
      nubmerReqsToAdd: 1
    },
    upsert: {
      numberReqs: 0
    }
  }
}, (err) => { console.log(err) })

即使我提到了upsert,此代码也会引发document_missing_exception。

1 个答案:

答案 0 :(得分:0)

在“ doc”对象中提供参数并使用

  

doc_as_upsert:是

在体内。

client.update({
 index: 'index',
 type: 'type',
 id: 'id',
 body: {
  doc: {
   key: value
  },
 doc_as_upsert: true
 }
}, (err) => { console.log(err) })