Это функция добавления новых данных, если они не существуют, путем обращения к существующим данным и обновления данных, если они существуют. Работает хорошо, но через час возникает ошибка gRpc
. Подробности ниже:
Error: No connection established
at Http2CallStream.<anonymous> (D:\zyleTcpServer\node_modules\@grpc\grpc-js\build\src\call.js:68:41)
at Http2CallStream.emit (events.js:215:7)
at D:\zyleTcpServer\node_modules\@grpc\grpc-js\build\src\call-stream.js:75:22
at processTicksAndRejections (internal/process/task_queues.js:75:11)
---------------------------------------------
at BunWrapper.Readable.on (D:\zyleTcpServer\node_modules\bun\node_modules\readable-stream\lib\_stream_readable.js:729:33)
at D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:920:26
at new Promise (<anonymous>)
at Firestore._initializeStream (D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:881:16)
at D:\zyleTcpServer\node_modules\@google-cloud\firestore\build\src\index.js:1017:28 {
code: 14,
details: 'No connection established',
metadata: Metadata { internalRepr: Map {}, options: {} }
}
А вот мой код
<code>
const docName = `${vin}-${dtc}`; //make doc
const ebsRef = db.collection('events').doc(docName);
await db.runTransaction((t) => t.get(ebsRef)
.then(async (doc) => {
if (!doc.exists) {
return t.set({
startDatetime: firebase.firestore.FieldValue.serverTimestamp(),
endDatetime: firebase.firestore.FieldValue.serverTimestamp(),
description: dtcData.description,
dtcCode: dtc,
eventType: brokenType,
scannerCode: dtcData.scanner,
vin,
});
}
return t.update(ebsRef, {
status: (rawDtc.status === '08' ? 2 : 1),
endDatetime: firebase.firestore.FieldValue.serverTimestamp(),
});
</code>
<br>
Есть ли проблема с моим исходным кодом? Как я могу это исправить ..?