我使用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?由于此文件与我的快递应用程序无关,因此它只是一个单独的文件。
答案 0 :(得分:1)
如果您想看到此module
正在运行,请确保以下
mongoose.connect('mongodb://IP/DBName')
您上面发布的内容仅仅是模块定义。它不会自行执行。您必须在邮件文件中require
此模块,即node
运行的文件,例如node server.js
,然后调用该方法。像
var notification = require(path/to/createNotifications);
notification();