Node.js 使用get.save将json对象放入mongoose模型不是一个函数
在顶部,我有以下内容:Node.js 使用get.save将json对象放入mongoose模型不是一个函数,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,在顶部,我有以下内容: var invoiceModel = require('../../models/invoiceModel'); var invoiceRecord = new invoiceModel(); 这一切都很好,如果我填写发票字段一个接一个的工作 invoiceRecord.dueDate = someDate invoiceRecord.amount = someAmount etc.. invoiceRecord.save(function (err, res) { e
var invoiceModel = require('../../models/invoiceModel');
var invoiceRecord = new invoiceModel();
这一切都很好,如果我填写发票字段一个接一个的工作
invoiceRecord.dueDate = someDate
invoiceRecord.amount = someAmount
etc..
invoiceRecord.save(function (err, res) {
etc..
但是!我从req.body
当我这样做的时候:
invoiceRecord = req.body.invoice
然后我的invoiceRecord.save
将给出此错误
TypeError: invoiceRecord.save is not a function
我理解它,因为即使我将invoiceRecord
定义为一个模型,它也会被req.body.invoice
覆盖并成为一个对象
如果我唯一能一个接一个地移动字段的方法(因为我有很多字段)只需这样做:
var invoiceRecord = new invoiceModel(req.body.invoice)
但要确保对象的键名与mongoose中的键名相同。例如:如果你的对象像:
{name:'Kamesh'}
那么你的猫鼬模型应该在它的模型中有“name”字段。因此,无论何时传入整个对象,mongoose都会知道将哪个值放入其数据库中的哪个字段。Damnit!!呵呵,我不知道你能做到。你说得通,谢谢:)