Я прочитал соответствующий пост: Невозможно перезаписать модель после компиляции Mongoose
Проблема в том, что ни одно из этих решений не помогло мне с моей проблемой.
Я получаю ошибку в названии, и у меня есть следующие настройки:
Структура папки:

Мои модели выглядят так:
forums.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const topicGroupSchema = require("./topicGroups");
const forumSchema = new Schema({
title: String,
topicGroups: [topicGroupSchema]
})
const Forum = mongoose.model("forums", forumSchema);
module.exports = Forum;
topicGroups.js
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const topicGroupSchema = new Schema({
title: String,
// Todo: add topics
})
module.exports = topicGroupSchema;
Мои файлы test_helper и saveForum_test.js выглядят так:
saveForum_test.js
const assert = require("assert");
const Forum = require("../model/forums")
describe("Creating records", () => {
it("can save a new forum", (done) => {
const forum = new Forum({
title: "CodeHUB"
})
forum.save()
.then(() => {
assert(forum.isNew)
done();
})
})
})
test_helper.js
const mongoose = require("mongoose");
mongoose.Promise = global.Promise;
before(done => {
mongoose.connect("mongodb://myuser:mypassword@ds221339.mlab.com:21339/clicker", { useNewUrlParser: true });
mongoose.connection
.once("open", () => {done()})
.on("error", error => {
console.warn("error", error)
})
})
// FIXME: error when saved twice
beforeEach(done => {
console.log(mongoose.connection.collections.forums)
mongoose.connection.dropCollection("forums", () => {
done();
})
})
Так что, когда я запускаю свой набор тестов с mocha, все работает как положено.Но когда я что-то меняю и запускаю снова, я получаю ошибку
OverwriteModelError: Невозможно перезаписать forums
модель после компиляции.
Я использую mlab с mongoose ине локальный установленный mongodb.Может, с этим что-то связано?Я не могу понять это, я проверил все файлы и импорт и т. Д. 10 раз и не могу найти ошибку, не так ли?