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!!呵呵,我不知道你能做到。你说得通,谢谢:)