Как получить родительский элемент автоматического идентификатора с подстановочным знаком для функции onCreate хранилища моментальных снимков документа? - PullRequest
0 голосов
/ 07 августа 2020

Я просмотрел похожие ответы на похожие вопросы, но эти ответы не применимы. Я ищу простой родительский автоидентификатор документа в функции onCreate firestore в js?

Журнал функции firestore читает функцию, возвращенную undefined для DocumentiD Как вы ссылаетесь на documentID?

Firestore Результат журнала: функция sendMailtransaction вернула неопределенное, ожидаемое обещание или значение


//Send the transaction email
exports.sendMailtransaction = functions.firestore
    .document('Companys/{companyid}/Transaction/{transactionid}')
    .onCreate((snap, context) => {

        const transDocument = functions.firestore.document('Companys/{companyid}/Transaction/{transactionid}');
        const documentiD = transDocument.documentID;


        const mailOptions = {
            from: 'L App<report@sample.com>',  // You can write any mail Address you want this doesn't effect anything,
            to: snap.data().companyemailcf, // This mail address should be filled with any mail you want to read it,
            bcc: 'admin@l.com',
            subject: 'L Record, New Tranaction ',
            html: `<h1>Confirmed Transaction</h1>
                                    <p>
                                       <b>Ref: </b>${documentiD}<br>
                                       <b>Datetime: </b>${snap.data().datetime}<br>
                                       <b>User: </b>${snap.data().user}<br>
                                       <b>Vehicle: </b>${snap.data().vehicle}<br>
                                       
                                    </p>`
        };
    }

1 Ответ

1 голос
/ 07 августа 2020

Вам не нужно запрашивать созданный документ, чтобы получить его в функции, поскольку у вас уже есть документ в параметрах onCreate: snapshot - первый параметр.

Пример:

export const eventCreated = functions.firestore
    .document('/events/{eventId}')
    .onCreate(snapshot => {
        console.log("this is the new document id: ", snapshot.id)
        console.log("Document content:", snapshot.data())
    })

В вашем случае используйте snap.id

Руководство по функциям Firebase здесь Ссылка на снимки поясняется здесь

...