3
Firestoreを使用してバッチの一部として作成されたドキュメントの自動生成IDを取得する方法はありますか? .add()
を使用している場合Firestoreを使用してbatch()で作成されたドキュメントの生成IDを取得できますか?
私は簡単にIDを取得することができます:
db.collection('posts')
.add({title: 'Hello World'})
.then(function(docRef) {
console.log('The auto-generated ID is', docRef.id)
postKey = docRef.id
});
私は.doc()
と.set()
に文書を追加することができ.batch()
を使用する:
const batch = db.batch();
const postsRef = db.collection('posts').doc(postKey);
batch.set(postsRef, {title: 'Hello Again, World'});
const votesRef = db.collection('posts').doc(postKey)
.collection('votes').doc();
batch.set(votesRef, {upvote: true})
batch.commit().then(function() {
});
は私がの自動生成IDを取得することができますvotes
に追加された文書ですか?
更新:
ダグ・スティーブンソンが正しいか - 私はあなたが引数なしdoc()を呼び出すと、それはすぐに書き込みせずに、一意のIDを持っているDocumentReferenceを返しますvotesRef.id
私はFirestoreのWebドキュメントの例に従っています: 'var newCityRef = this.afs.collection(" cities ").doc();'私は "1つの引数が必要ですが、0を返します。これは私が完全に前進することを完全に阻止している。 – FiringBlanks
@FiringBlanks角度が標準のjavascript APIと異なる場合がありますか? –
@DougStevenson彼らはそれが必要なパラメータになったようです。詳細はこちらをご覧ください:https://github.com/firebase/firebase-js-sdk/blob/d43d461aaa2496d4cd12fd593373f6dad214716f/packages/firestore/src/api/database.ts#L397-L408 – Edric