Я пытаюсь использовать облачные триггеры Firestore для автоматического обновления записей в нашем индексе «пользователей» Алголии.
Вот наша облачная функция:
exports.updateUser = functions.firestore
.document('users/{id}').onUpdate((change, context) => {
const afterData = change.after.data()
return algoliaIndex.partialUpdateObjects([{afterData}]).catch((err) => {
return console.error(new Error(err))
})
})
В наших журналах функций Firebase мыувидеть эту ошибку:
Error: Usage: index.partialUpdateObjects(arrayOfObjects[, callback])
at Index.partialUpdateObjects (/user_code/node_modules/algoliasearch/src/Index.js:136:11)
at exports.updateUser.functions.firestore.document.onUpdate (/user_code/index.js:19:26)
at cloudFunctionNewSignature (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:114:23)
at cloudFunction (/user_code/node_modules/firebase-functions/lib/cloud-functions.js:144:20)
at /var/tmp/worker/worker.js:827:24
at process._tickDomainCallback (internal/process/next_tick.js:135:7)
Что мы делаем не так?
Спасибо!
РЕДАКТИРОВАТЬ: я обновил код ниже, который теперь работает, КРОМЕ ТОГО, что Алголии требуетсяИдентификатор объекта, который будет передан в объекте, чтобы он обновлял правильную запись.Как я могу ссылаться на ObjectID внутри объекта "afterData"?