javascript - 编译后无法覆盖“历史”模型
问题描述
我正在尝试保存查询,但它给了我错误,一旦编译就无法覆盖模型。我的模型文件是
const mongoose = require("mongoose")
const history = new mongoose.Schema({
search_name: {
type: String,
required: true,
},
date: {
type: Date,
required: true
}
})
module.exports = mongoose.model("history", history)
我的路线文件是:
const keys = require("../config/keys")
const Bing = require('node-bing-api')({ accKey: "0112a649fd944630b0954a20ac8c71f6" });
let History = require("../Models/searchhistory")
module.exports = (app) => {
app.get("/api/imagesearch/:searchname", (req, response) => {
const query = req.params.searchname
const per_page = parseInt(req.query.offset, 10)
Bing.images(query, {
count: 100,
offset: 0
}, (error, res, body) => {
const hist = new History({
})
// hist.save().then(() => {
// })
response.send(body)
})
})
}
运行代码时出现这些错误:
F:\image abstraction layer\node_modules\mongoose\lib\index.js:453
throw new _mongoose.Error.OverwriteModelError(name);
^
OverwriteModelError:无法覆盖history
模型一旦编译。在新的 OverwriteModelError (F:\image abstraction layer\node_modules\mongoose\lib\error\overwriteModel.js:20:11) 在 Mongoose.model (F:\image abstraction layer\node_modules\mongoose\lib\index.js:453 :13) 在对象处。(F:\image abstraction layer\Models\searchhistory.js:15:27) 在 Module._compile (internal/modules/cjs/loader.js:688:30) 在 Object.Module._extensions..js (internal/modules /cjs/loader.js:699:10) 在 Module.load (internal/modules/cjs/loader.js:598:32) 在 tryModuleLoad (internal/modules/cjs/loader.js:537:12) 在 Function. Module._load (internal/modules/cjs/loader.js:529:3) 在 Module.require (internal/modules/cjs/loader.js:636:17) 在 require (internal/modules/cjs/helpers.js: 20:18)在对象。(F:\image abstraction layer\routes\routes.js:3:15) 在模块。
解决方案
也许你可以通过改变它来解决它
module.exports = mongoose.model("history", history)
为了那个原因
module.exports = mongoose.model.history || mongoose.model("history", history)