У меня есть следующий код:
ПРИМЕЧАНИЕ getDb()
это обертка вокруг admin.firestore()
см. Ссылку в конце вопроса для получения более подробной информации.
let wordRef = await getDb().
.collection(DOC_HAS_WORD_COUNT)
.doc(word)
await wordRef.set({ word: word, 'count': 0 })
await wordRef.update('count', admin.firestore.FieldValue.increment(1))
Когда я его выполняю, я получаю FirebaseError: Function DocumentReference.update() called with invalid data. Unsupported field value: a custom object (found in field count)
Как увеличить значение в node js, firestore, облачных функциях?
ПРИМЕЧАНИЕ: эта проблема специфична c для тестирования Mocha, я не проверял, но, вероятно, она не будет работать в реальном env.
Проблема вызвана кодом, использующим реальное реализация в тесте, которая должна быть переопределена реализацией эмулятора, как объясняется в: https://claritydev.net/blog/testing-firestore-locally-with-firebase-emulators/
Где вы также можете найти определение getDb()
, которое я использовал во фрагменте кода