[英]How to push all the documents in a collection with values to another collection in form of map firestore web
我的購物車中有產品,在結賬時會轉換為訂單。 我希望購物車集合中的所有文檔都映射為單個文檔中訂單集合中的 object map / 數組。
function placeOrder(){
var uid = auth.currentUser.uid
db.collection('users').doc(uid).collection('carts')
.get().then((items)=>{
items.forEach((item)=>{
var item_key = item.id
db.collection('users').doc(uid).collection('orders').doc().set({
items : [item_key]
})
db.collection('users').doc(uid).collection('carts').doc(item_key).delete()
})
})
}
...
.get()
.then(snapshot => {
const ids = snapshot.docs.map(doc => doc.id)
db.collection('users')
.doc(uid)
.collection('orders')
.doc()
.set({items : ids})
}
...
.get()
.then(snapshot => {
const batch = db.batch()
const orderRef = db.collection('users').doc(uid).collection('orders').doc()
const cartRef = db.collection('users').doc(uid).collection('carts').doc(item_key)
batch.set(orderRef, {
// order fields
})
snapshot.forEach(docSnap => {
batch.set(orderRef.collection('order_items').doc(docSnap.id), {
// order item fields
})
})
batch.delete(cartRef)
batch.commit()
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.