创建脚本以将种子数据插入node.js中的mongodb

时间:2018-05-06 01:29:21

标签: javascript node.js mongodb express

我使用mongoose和node.js(express),我希望使用脚本插入种子数据。就像我做节点脚本/ createNotifications.js一样,我可以将数据插入到我的数据库中。

我的代码

//createNotifications.js
const mongoose = require('mongoose')
const Notification = require('../api/models/notificationModel')
mongoose.Promise = global.Promise

module.exports = (async () => {

    try {

        const new_notification = await new Notification({ 
            "userId" : mongoose.Types.ObjectId("5a3e76ce914e1d1bd854451d"),
            "msg" : "Something"
        }).save()

    } catch(e) {
        console.log('Error creating notifications. ', e)
    }
})()

当我运行代码时,我没有看到任何数据被插入。我的服务器在端口3000启动,我是否必须在此文件中连接到mongodb?由于此文件与我的快递应用程序无关,因此它只是一个单独的文件。

1 个答案:

答案 0 :(得分:1)

如果您想看到此module正在运行,请确保以下

  1. 确保您已与mongoose.connect('mongodb://IP/DBName')
  2. 等数据库建立了联系
  3. 您上面发布的内容仅仅是模块定义。它不会自行执行。您必须在邮件文件中require此模块,即node运行的文件,例如node server.js,然后调用该方法。像

    这样的东西
    var notification = require(path/to/createNotifications);
    notification();