TypeError:无法在MongoClient.connect中读取null的属性'collection'

时间:2018-05-07 12:50:36

标签: node.js mongodb

我正在关注一个教程,我想使用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文件是同一目录。

0 个答案:

没有答案