Ошибка поиска Алголии, когда "index.addObject ()" - PullRequest
0 голосов
/ 27 апреля 2020

Я установил algolia, используя этот учебник: https://www.youtube.com/watch?v=dTXzxSlhTDM

У меня есть платная версия Firestore, и все было хорошо, пока я не создал элемент в своей коллекции, чтобы попробовать, если он был работает, но когда я это сделал, в мой индекс Алголии был добавлен любой элемент, поэтому я зашел в журнал облачных функций и увидел следующее:

addToIndex
TypeError: index.addObject is not a function
at exports.addToIndex.functions.firestore.document.onCreate.snapshot (/srv/index.js:15:22)
at cloudFunction (/srv/node_modules/firebase-functions/lib/cloud-functions.js:131:23)
at /worker/worker.js:825:24
at <anonymous>
at process._tickDomainCallback (internal/process/next_tick.js:229:7)

Я потратил 30 минут на просмотр кода и написание всего этого совершенно точно так же, как в видео, и искал эту ошибку и ничего не нашел, так что здесь я

index. js

const functions = require('firebase-functions');
const algoliasearch = require('algoliasearch');

const APP_ID = functions.config().algolia.app;
const ADMIN_KEY = functions.config().algolia.key;

const client = algoliasearch(APP_ID, ADMIN_KEY);
const index = client.initIndex('items');

exports.addToIndex = functions.firestore.document('items/{itemId}')
    .onCreate(snapshot => {
        const data = snapshot.data();
        const objectID = snapshot.id;

        return index.addObject({ ...data, objectID });
    });
exports.updateIndex = functions.firestore.document('items/{itemId}')
    .onUpdate((change) => {
        const newData = change.after.data();
        const objectID = change.after.id;
        return index.saveObject({ ...newData, objectID });
    });
exports.deleteFromIndex = functions.firestore.document('items/{itemId}')
    .onDelete(snapshot => index.deleteObject(snapshot.id));

1 Ответ

1 голос
/ 27 апреля 2020

Метод addObject не существует в последней версии. Вы должны использовать saveObject:

index.saveObject({ ...data, objectID })

Обратите внимание, что учебник для Algolia доступен в документации Firebase .

...