在algolia

时间:2016-05-18 04:38:00

标签: algolia

在algolia文档中,他们指定您可以像这样操作数组:

// adding
index.partialUpdateObject({
  myfield: {
    value: 'myvalue',
    _operation: 'Add'
  },
  objectID: 'myID'
})

/removing
index.partialUpdateObject({
  myfield: {
    value: 'myvalue',
    _operation: 'Remove'
  }
})

当数组是字符串或数字时,这很有效。但是想象一下我有这个文档结构,其中数组实际上是嵌套对象:

{
  first_name: String,
  last_name: String,
  subjects: [
    {
      itemId: String,
      title: String,
      randomField: String,
      dateAdded: Date
    }
  ]
}

在这种情况下,algolia文件非常不清楚。例如,假设以下场景:

  • 我想更新特定数组项的randomField字段。我希望能够通过itemId更新嵌套数组项。
  • 我希望能够添加或删除嵌套数组项。在这种情况下,我将什么传递给"值"执行partialUpdateObject时的字段。

在Algolia,这种事情有可能吗?你的建议是什么?

1 个答案:

答案 0 :(得分:1)

使用partilUpdateObject函数无法添加/更新/删除嵌套数组的特定属性。

通过获取对象,修改并更新后,您可以正确使用它。 :)