在使用云函数时,我们遇到了以下错误:
时间:2023-10-21 18:50:18.281东部时间 功能:v8-专家
---updateUserByID finish update---
Caused by: Error
at WriteBatch.commit (/workspace/node_modules/firebase-admin/node_modules/@google-cloud/firestore/build/src/write-batch.js:433:23)
at DocumentReference.update (/workspace/node_modules/firebase-admin/node_modules/@google-cloud/firestore/build/src/reference.js:433:14)
at Object.updateUserByID (/workspace/dist/src/DB/db.js:74:14)
at createSpecialistOrderListService (/workspace/dist/src/crud/specialist/services/specialistList/createSpecialistOrderListService.js:38:29)
at runMicrotasks (<anonymous>)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async getRecommendedSpecialistsListController (/workspace/dist/src/crud/specialist/controllers/getRecommendedSpecialistsListController.js:25:44)
at async /workspace/dist/src/framework/express/middlewares/express-handler.js:18:36
Error Details:
- Code: `13`
- Description: `Received RST_STREAM with code 1`
- Metadata: `{ internalRepr: Map(0) {}, options: {} }`
- Note: `Exception occurred in retry method that was not classified as transient`
当我们在更新函数中执行以下命令时,似乎会弹出此错误:
const writeResult = await admin
.firestore()
.collection(FirestoreCollections.Users)
.doc(userID)
.update(fieldsToUpdate);
fieldsToUpdate
人的例子:
[
{
"boolean": true,
"number": 100,
"id": "some_id"
}
]
然而,令人费解的是,这种方法似乎在我们的其他云功能中运行得无懈可击.😕 在某些情况下,即使在更新过程中引发错误,FiRestore中的数据仍可能被更新.
- 即使在本地进行测试,该问题仍然存在.
- 使用相同的方法创建新的云函数后,一切操作都很顺利.