[英]How to fix this foreach function error with nodejs
我有一個 nodejs 腳本,允許我在 Firestore 上插入包含在 json 文件中的數據,但執行后我有一個未找到函數的錯誤。 我該如何解決這種情況? 謝謝這是我所有的代碼:
var admin = require("firebase-admin");
var serviceAccount = require("./service_key.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://xxxxxxxxx.firebaseio.com"
});
const firestore = admin.firestore();
const path = require("path");
const fs = require("fs");
const directoryPath = path.join(__dirname, "files");
fs.readdir(directoryPath, function(err, files) {
if (err) {
return console.log("Unable to scan directory: " + err);
}
files.forEach(function(file) {
var lastDotIndex = file.lastIndexOf(".");
var menu = require("./files/" + file);
menu.forEach(function(obj) {
firestore
.collection(file.substring(0, lastDotIndex))
.doc(obj.itemID)
.set(obj)
.then(function(docRef) {
console.log("Document written");
})
.catch(function(error) {
console.error("Error adding document: ", error);
});
});
});
});
我有這個錯誤要發回:
/Users/nana/Documents/SCRIPT/uploader.js:25
menu.forEach(function(obj) {
^
TypeError: menu.forEach is not a function
at /Users/nana/Documents/SCRIPT/uploader.js:25:10
at Array.forEach (<anonymous>)
at /Users/nana/Documents/SCRIPT/uploader.js:20:9
at FSReqCallback.oncomplete (node:fs:188:23)
據我所知, menu
不是數組。 您只requiring
'./files/'
路徑內的文件。
試試console.log(typeof menu)
看看終端說的 menu 是什么。 但對我來說,它看起來不像一個數組。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.