0

Firestore에 이미있는 문서에 새 컬렉션을 추가하고 싶습니다. 가능합니까? 다음은이 작업을 수행하는 코드입니다, 나는 문서가 경우 FireStore에서 만든 that.Whenever 다음 클라우드 기능을Cloud Firestore의 기존 문서에 새 컬렉션을 추가하는 기능

const functions = require('firebase-functions'); 
const Firestore = require('@google-cloud/firestore'); 
const firestore = new Firestore(); 
const admin = require('firebase-admin'); 
admin.initializeApp(functions.config().firebase); 
exports.myWallet = functions.firestore 
    .document('Samyata/{authid}') 
     .onCreate(event =>{ 
     const ID = event.params.authid 
     const db = admin.firestore(); 
     var data = { 
     Bitcoins : '0', 
     Ether : '0', 
     deyaCoins : '0' 
     }; 
     var docRef = db.collection('Samyata').doc(ID); 
     var updateDoc = docRef.update({ 
     db.collection('Samyata').doc(ID).collection('Wallet').doc(ID).set(data);}); 
     //var updateRef = docRef.update(); 
     });//end of onCreate() 
+0

가 기억 :) 시도 트리거하는 일을 위해 클라우드 fucntions을 사용 항상 약속을 되 돌린다 :) fireste에 대한 조작은 세트처럼, 업데이트는 약속을 되 돌린다. – Skye

+0

이 말은 할 수 있어요.이 구조체를 원해요. db.collection ('Samyata'). doc (ID) .collection ('Wallet') .doc (ID) .set (data);}); 클라이언트 측 Firestore에서는 cmd + r을 눌러 수동으로 새로 고침해야하므로 onCreate() 메소드에서 트리거하는 클라우드 함수가 작동하지 않습니다. –

+0

onCreate가 한 번만 호출하면 엔티티/문서가 생성됩니다. 이것을 한 번 이상 호출하려면 onUpdate/onWrite로 onCreate를 변경해야합니다. – Skye

답변

2

이이

return db.collection('Samyata').doc(ID).collection('Wallet').doc(ID).set(data); 
+0

안녕하세요 @ 스에, 왜'돌아 가기 '가 필요한지 말해 주실 수 있습니까? 내 말은, 그것은 함수,'set'이므로 반환이 함축되어서는 안된다. 또한 내부에는 익명의 함수 선언이 없습니다 ... 약간의 빛을 비추십시오. 고맙습니다! – Tudormi

+0

이 기능은이 '반환'기능입니까? 감사! – Tudormi

+0

@ 도도르미 돌아 오면 기능이 중지되지 않습니다. 위와 같이 약속을 되 돌리면, timeout이나 'set'작업이 끝날 때까지 함수가 실행됩니다. – Skye