プログラム
mongo_create.js
#! /usr/bin/node
//
// mongo_create.js
//
// Jun/28/2024
//
// ----------------------------------------------------------------
const mongoose = require('mongoose')
// ----------------------------------------------------------------
function dict_append_proc(dict_aa,id_in,name_in,population_in,date_mod_in)
{
var unit_aa = {}
unit_aa['name'] = name_in
unit_aa['population'] = population_in
unit_aa['date_mod'] = date_mod_in
dict_aa[id_in] = unit_aa
return dict_aa
}
// ----------------------------------------------------------------
function data_prepare_proc ()
{
var dict_aa = new Object ()
dict_aa = dict_append_proc (dict_aa,'t1161','さいたま',93154,'1950-7-23')
dict_aa = dict_append_proc (dict_aa,'t1162','所沢',28657,'1950-5-15')
dict_aa = dict_append_proc (dict_aa,'t1163','越谷',97421,'1950-10-2')
dict_aa = dict_append_proc (dict_aa,'t1164','久喜',31864,'1950-6-18')
dict_aa = dict_append_proc (dict_aa,'t1165','熊谷',49358,'1950-8-14')
dict_aa = dict_append_proc (dict_aa,'t1166','秩父',65792,'1950-9-12')
dict_aa = dict_append_proc (dict_aa,'t1167','川越',37256,'1950-7-5')
dict_aa = dict_append_proc (dict_aa,'t1168','和光',52384,'1950-4-20')
dict_aa = dict_append_proc (dict_aa,'t1169','新座',26897,'1950-6-24')
return dict_aa
}
// ----------------------------------------------------------------
async function loop_insert_proc (dict_aa,City)
{
for (var key in dict_aa)
{
console.log(key)
var unit_aa = dict_aa[key]
unit_aa['id'] = key
const city1 = new City(unit_aa)
await city1.save()
}
}
// ----------------------------------------------------------------
// var MongoClient = require('mongodb').MongoClient
const assert = require('assert')
console.error ("*** 開始 ***")
const dict_aa = data_prepare_proc ()
const mongoURI = 'mongodb://localhost:27017/city'
// MongoDB への接続
mongoose.connect(mongoURI)
// 接続が確立された時のコールバック
const db = mongoose.connection
db.on('connected', function() {
console.log('MongoDBに接続しました');
})
// データのスキーマ定義
const citySchema = new mongoose.Schema({
id: String,
name: String,
population: Number,
date_mod: Date
})
// モデルの作成
const City = mongoose.model('City', citySchema, 'saitama')
// データの保存
const saveCities = async () => {
try {
await loop_insert_proc (dict_aa,City)
} catch (error) {
console.error('データの保存に失敗しました', error)
} finally {
// 接続の切断
mongoose.connection.close()
console.error ("*** 終了 ***")
}
}
// ----------------------------------------------------------------
saveCities()
// ----------------------------------------------------------------
実行
コマンド
go_create.sh
export NODE_PATH=/usr/local/lib/node_modules
node mongo_create.js
実行結果
$ ./go_create.sh
*** 開始 ***
t1161
MongoDBに接続しました
t1162
t1163
t1164
t1165
t1166
t1167
t1168
t1169
*** 終了 ***
確認したバージョン
$ node --version
v22.3.0