gpt4 book ai didi

javascript - Firestore 数据结构 : Storing An Order in Firestore

转载 作者:行者123 更新时间:2023-11-29 23:25:34 25 4
gpt4 key购买 nike

我需要在 Firestore 中存储“订单”。它基本上是几行零件号、描述、数量和价格。我最初的想法是将每个订单存储为一个文档,其中每一行/行/lineItem 都是一个数组。

考虑到搜索/规模,是否推荐这样做?或者,“订单”的每个行项目是否应该是顶级集合(“order1”)的单独文档?

PART1A    a desc of part1a    3    13.95
PART2B aanother descrip 7 9.99

更新:以下是我的解决方案。我花了(浪费)了很长时间思考如何 .then 更新我的 db.collection("users").doc(uid).collection("orders")。一个小时后,我明白根本没有理由这样做。我已经在 db.collection("orders").doc() 中捕获了 uid,并且可以快速查询它以提取用户订单。

    ordersPageSaveButton.addEventListener('click', function(evt) {
var batch = db.batch();
var ordersRef = db.collection("orders").doc();
var itemRows = parentEl.querySelectorAll(".selected-item-row");
var name;
var description;
var quantity;
var price;
var indx;
var obj = {};
//order name would be nice
obj.updated = Date.now();
obj.owner = firebase.auth().currentUser.uid;
obj.stage = "saved";
for (var i = 0; i < itemRows.length; i++) {
name = itemRows[i].querySelector(".product-container-item-name-wrapper").innerHTML.toString().toLowerCase();
description = itemRows[i].querySelector(".product-container-description-row").innerHTML.toString().toLowerCase();
quantity = Number(itemRows[i].querySelector(".product-container-qty-input").value);
price = itemRows[i].querySelector(".product-container-unit-price-wrapper").innerHTML;
price = parseFloat(price.replace(/,/g, ''));
indx = itemRows[i].querySelector(".product-container-row-number-wrapper").innerHTML;
obj[name] = {
indx:indx,
description:description,
quantity:quantity,
price:price};
batch.set(ordersRef, obj);
}
// Commit the batch
batch.commit().then(function () {
console.log("success");
}).catch(function(err) {
console.error(err);
});
});

最佳答案

看起来第一个提到的结构是要走的路。使用订单名称作为键 (collection/$ordername) 并使用描述、数量和价格作为值。

PART1A
description: "This is desc of part1a"
quantity: 3
price: 13.95

这样您就可以按任何值和名称进行排序。

关于javascript - Firestore 数据结构 : Storing An Order in Firestore,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49480604/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com