当我使用post api调用'userInfo'方法时,它总是给出一条消息'userSchema.save'不是函数。
我在这里做错了什么?
var userModel = mongoose.model('user_details');
module.exports.userInfo = function (req, res) {
var userSchema = new userModel();
new Promise(function (resolve, reject) {
userSchema.emailID= "smid"
userSchema.loginPassword ="smpaswd"
userSchema.contactAddress = [{
addressType: "Communication",
}]
userSchema.favourites = [{
hospitalid: 1234,
}]
resolve();
}).then(function () {
userSchema.save(function (error, data) {
if (error) {
logger.error("Error while inserting record : - " + error)
return res.json({ "Message": error.message.split(":")[2].trim() });
}
else {
return res.json({ "Message": "Data got inserted successfully" });
}
})
}).catch(function (err) {
return res.json({ "Message": err.message });
})
};
答案 0 :(得分:0)
我猜你创建模型对象的方式不正确。看看这个例子,在这个例子中,我们将模式定义传递给" yourSchema"所以你可能需要在对象创建中传递模式定义。
var Tank = mongoose.model('Tank', yourSchema);
var small = new Tank({ size: 'small' });
small.save(function (err) {
if (err) return handleError(err);
// saved!
})
// or
Tank.create({ size: 'small' }, function (err, small) {
if (err) return handleError(err);
// saved!
})
像这样的东西
//userSchema should exist there
var userModel = mongoose.model('user_details', userSchema);