В документации 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
.
Возможно ли подобное в Алголии? Каковы будут ваши рекомендации?