Adding/updating/removing algolia 中的嵌套数组
Adding/updating/removing nested array in 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
. 时将什么传递到 "value" 字段
这种事情在Algolia有可能吗?你的建议是什么?
无法使用 partilUpdateObject
函数 add/update/remove 嵌套数组的特定属性。
您可以通过获取对象、修改和更新对象来获得正确的结果。 :)
在 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
. 时将什么传递到 "value" 字段
这种事情在Algolia有可能吗?你的建议是什么?
无法使用 partilUpdateObject
函数 add/update/remove 嵌套数组的特定属性。
您可以通过获取对象、修改和更新对象来获得正确的结果。 :)