1
我想通過腳本(JS),通過我運行通過npm run
填充我的MongoDB數據庫與數據。我的Mongoose數據播種腳本有什麼問題?
const mongoose = require('mongoose')
const dbConf = require('../config/database.js')
const User = require('../app/models/user.js')
const Account = require('../app/models/account.js')
mongoose.connect(dbConf.url, { useMongoClient: true })
mongoose.Promise = global.Promise
const users = [
{
_id: "58c039018060197ca0b52d4c",
email: "[email protected]",
password: "foo",
balance_cents: 100
},
{
_id: "58c03ada8060197ca0b52d52",
email: "[email protected]",
password: "foo",
balance_cents: 50000
}
]
const accounts = [
{
name: "Postbank",
iban: "1232423423",
swift: "2444444"
},
{
name: "DKB",
iban: "1234923423",
swift: "6667898"
},
{
name: "Fidor",
iban: "909873423",
swift: "998733"
}
]
async function dropDatabase() {
console.log('Removing User collection')
await User.remove()
console.log('Success!')
}
async function seedUsers() {
console.log('Seeding users..')
try {
await User.insertMany(users)
console.log('Success!')
} catch(error) {
console.log('Error:' + e)
}
}
dropDatabase()
seedUsers()
process.exit(0)
但它似乎並沒有超過每個函數中的await
語句。輸出是:
Removing User collection
Seeding users..
並且數據庫中沒有對象。我使用的是與在教程中找到的完全相同的語法,並且無法理解爲什麼這不起作用。 任何想法的人?我想這是一個非常愚蠢的錯誤,我現在看不到。謝謝!
你可以只運行拖放數據庫函數與try catch user.remove ?? – Sathish