3
有沒有一種方法可以使用Firestore獲取作爲批處理一部分創建的文檔的自動生成ID?可以使用Firestore設置使用batch()創建的文檔的生成ID嗎?
當使用.add()
我可以輕鬆地獲得一個ID:
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:
db.collection('posts')
.add({title: 'Hello World'})
.then(function(docRef) {
console.log('The auto-generated ID is', docRef.id)
postKey = docRef.id
});
使用.batch()
我可以.doc()
和.set()
添加文檔文件被添加到votes
?
更新:
道格·史蒂文森是正確的 - 我可以在votesRef.id
我正在關注Firestore網絡文檔示例: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