-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathload_data_bulk.js
32 lines (26 loc) · 1.15 KB
/
load_data_bulk.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
const fs = require("fs");
const csvtojson = require("csvtojson");
const { MongoClient } = require("mongodb");
const csvFilePath = "./csv/KEN_ALL.CSV"; // CSVファイルのパスを指定
const databaseUrl = "mongodb://root:pass@mongo:27017"; // MongoDBの接続URLを指定 mongodb://ユーザー名:パスワード@サーバー名:port
const databaseName = "city"; // データベース名を指定
const collectionName = "area"; // コレクション名を指定
(async () => {
try {
// MongoDBに接続
const client = new MongoClient(databaseUrl);
await client.connect();
// データベースとコレクションを取得
const db = client.db(databaseName);
const collection = db.collection(collectionName);
// CSVファイルからデータを読み込む
const jsonArray = await csvtojson().fromFile(csvFilePath);
// データをMongoDBに挿入
const result = await collection.insertMany(jsonArray);
console.log(`${result.insertedCount}件のドキュメントが挿入されました。`);
// MongoDBとの接続を閉じる
client.close();
} catch (err) {
console.error("エラー:", err);
}
})();