我正在关注一个教程,我想使用npm run命令为一个数据库播种,但是我的代码抛出错误
const collection = db.collection(collectionName); TypeError:无法读取null的属性'collection' 在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...
我错过了什么或做得不对? users.json和orders.json文件集合与seed-db.js文件是同一目录。