【发布时间】:2021-06-27 13:06:01
【问题描述】:
我在 Firestore 中有一个名为 Products 的集合。
产品 JSON:
{
Id1:
{"product": "product1"},
Id2:
{"product": "product2"},
Id3:
{"product": "product3"},
}
我想使用 JSON 和 Node Js 向它添加数据,这样我就不会添加任何重复的数据。我是 NodeJS 和异步方法的新手。所以我想问一下,如果我做得对:
const data = require("./data.json");
for (var key in data) {
var query = firestore.collection(collectionKey);
var product = data[key]["product"];
query.where("product", '==', product).get().then((res) => {
if (!res.empty) {
console.log(product + " exists");
} else {
firestore.collection(collectionKey).doc(key).set(data[key]).then((res) => {
console.log(product + " successfully written!");
.catch((error) => {
console.error("Error writing document: ", error);
});
});
}
});
}
console.log只打印最后一个产品,不知道哪些产品已经存在,哪些写成功了?
编辑:
node script
Console Output:
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
H1358 exists
..
.
data.json 包含 58 种不同的产品,即产品 ID:依次为 H1301..H1358。
【问题讨论】:
-
您正在为每个键(
Id1、Id2、Id3)发起一个查询,并且您的代码应该为每个查询记录一些内容。这没有发生吗?您可以编辑您的问题以显示日志输出吗? -
添加了控制台输出。
标签: javascript node.js json google-cloud-firestore