0
0

プログラム

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
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0