【发布时间】:2020-07-08 06:43:02
【问题描述】:
您好,我使用 nodejs 编写了一个 Lambda 函数来从 mongodb 检索数据,它工作正常。稍后我使用 API 生成链接并查看该链接中的输出。现在输出显示在控制台中,但在该 API 中显示 OverwriteModel 错误。我在 API 中附加了我的代码和输出。我现在该怎么办?
const mongoose = require('mongoose')
const models=()=>{
mongoose.connect('---',{useNewUrlParser:true,useCreateIndex:true,useUnifiedTopology:true})
const wavicle = mongoose.model('Datasetlist',{Dataset:[{id:Number,dataset:String,parameter:
{name:String}]}]})
const me = wavicle.find({})
return me
}
const main = async(event)=>{
console.log('EVENT:',event)
return models()
}
exports.handler = main
控制台输出:
[
{
"_id": "5f05714c96db3e0007ae3595",
"Dataset": [
{
"parameter": [
{
"_id": "5f05714c96db3e0007ae3597",
"name": "StoreName"
},
{
"_id": "5f05714c96db3e0007ae3598",
"name": "Dates"
},
{
"_id": "5f05714c96db3e0007ae3599",
"name": "TransDesc"
},
{
"_id": "5f05714c96db3e0007ae359a",
"name": "Amount"
},
{
"_id": "5f05714c96db3e0007ae359b",
"name": "credit"
},
{
"_id": "5f05714c96db3e0007ae359c",
"name": "total"
}
],
"_id": "5f05714c96db3e0007ae3596",
"id": 1,
"dataset": "Daily Food Report"
}
],
"__v": 0
}
]
API 输出:
{
"errorType": "OverwriteModelError",
"errorMessage": "Cannot overwrite `Datasetlist` model once compiled.",
"trace": [
"OverwriteModelError: Cannot overwrite `Datasetlist` model once compiled.",
" at Mongoose.model (/var/task/node_modules/mongoose/lib/index.js:524:13)",
" at models (/var/task/index.js:7:26)",
" at Runtime.main [as handler] (/var/task/index.js:18:12)",
" at Runtime.handleOnce (/var/runtime/Runtime.js:66:25)"
]
}
【问题讨论】: