Я следую учебному пособию и хочу заполнить базу данных с помощью команды npm run, но мой код выдает ошибку
const collection = db.collection (collectionName);
Ошибка типа: не удается прочитать свойство 'collection' из null
в MongoClient.connect (C: \ Users \ menad \ Documents \ angular \ pro-delivery \ src \ server \ data \ seed-db.js: 13: 31)
Это мой файл seed-db.js
require('dotenv').config();
const users = require('./users');
const orders = require('./orders');
const MongoClient = require('mongodb').MongoClient;
const bcrypt = require('bcrypt');
function seedCollection(collectionName, initialRecords) {
MongoClient.connect(process.env.DB_CONN, (err, db) => {
console.log('connected to mongodb...');
const collection = db.collection(collectionName);
collection.remove();
initialRecords.forEach((item) => {
if (item.password) {
item.password = bcrypt.hashSync(item.password, 10);
}
});
collection.insertMany(initialRecords, (err, result) => {
console.log(`${result.insertedCount} records inserted.`);
console.log('closing connection...');
db.close();
console.log('done.');
});
});
}
seedCollection('users', users);
seedCollection('orders', orders);
Это файл моего окружения
DB_CONN=mongodb://username:password@ds117200.mlab.com:17200/db-name
Когда я запускаю команду npm run seed
соединение с базой данных в порядке, но тогда я получаю ошибку cannot read property 'collection' of null...
Что я упускаю или не делаю правильно? Файлы collection users.json и orders.json находятся в том же каталоге, что и файл seed-db.js.