因此,我试图使用Mongoose node.js + express在MongoDB DBMS的/ api / register上保存POST请求。
我的模式:
const mongoose = require('mongoose');
const obSchema = mongoose.Schema({
ID: {
type: Number,
required: true,
unique: true
},
description: {
type: String,
required: true
},
active: Boolean
});
module.exports = mongoose.model("OB", obSchema);
我的代码:
<express imports etc>
const OB = require('./models/ob.js');
app.post('/api/register', apiLimiter, async function (req, res){
try {
OB.save(function (err) {
if (err) return console.error(err);
console.log("Saved successfully");
});
} catch (err) {
res.status(500).send()
console.log(err);
}
});
我的错误:
TypeError: OB.save is not a function
答案 0 :(得分:1)
TypeError:OB.save不是函数
因为您使用的是原始Mongoose模型,而不是模型实例。
save
函数属于Mongoose模型的实例,要在Mongo中保存文档,您必须首先实例化一个模型:
const myOb = new OB({ ID: 1234, description: 'qwerty', active: true });
myOb.save((err) => {
if (err) return console.error(err);
console.log("Saved successfully");
});
答案 1 :(得分:0)
OB不是函数 你可以试试看。
const ob =new OB(data to be saved);
try{
await ob.save();
}
catch(e){
console.log(e)
}