mongoose不能将文档保存到一个特定集合的数据库中

我有一个function

function generateInvoice(data) { const cdate = new moment.tz('GMT').toDate(); let invoiceData = { date: cdate, paidStatus: true, amount: data.amount, userId: data.userId } if (data.planName && data.planTypeName) { invoiceData.item = `${data.planName} - ${data.planTypeName}` invoiceData.quantity = data.seats || data.slots; } if (data.credits) { invoiceData.item = 'Credits'; invoiceData.quantity = data.credits; } return Invoice.create(invoiceData).then((data)=>{ data.invoiceId = data._id.toString().slice(-5); return data.save().then((data)=>{console.log(data); return data.invoiceId}).catch((err)=>{ throw new ErroWithStatusCode(500, 'Sorry, we seem to be facing some issue right now. Please, try again later.', err); }) }) } 

这就是我如何使用这个function

 return generateInvoice(invoiceData).then((data)=>{ newBooking.orderId = data; id = data; return newBooking.save().then((booking) => { return booking; }).catch((err) => { throw new ErroWithStatusCode(500, 'Sorry, we are facing some issue right now. Please try again later.') }) }); 

问题是我无法在我的invoices集合中findinvoiceDatathen块的callback函数中的数据就是文档,但我在发票集合中找不到相同的文档。

所有的承诺正在得到解决。 它不落在catch块,我收到来自Invoice.create(invoiceData)有效数据。

另外, newBooking.save()函数按预期工作。 所以,这就是最困扰我的,至于为什么它不适用于一个特定的集合。

这背后的原因是什么?

编辑:这是发票模式

 const InvoiceSchema = new Schema({ item: String, paidStatus: Boolean, quantity: String, amount: Number, invoiceId: String, userId: {type: mongoose.Schema.Types.ObjectId, ref: 'User'}, date: {type: Date, default: Date.now()}, __v: {type: Number, select: false} }, {strict: true}) export default mongoose.model('Invoice', InvoiceSchema); 

而且我没有收到任何错误,预订成功。 我尝试logging在当前块中收到的数据,这是一个有效的文件,正如我已经在上面提到的。

编辑:以下是调用generateInvoice函数的完整代码: book.js

绝望的

 return Invoice.create(invoiceData).then((data)=>{... 

尝试

 new Invoice(invoiceData).save((err,data)=>{ if(err) return console.log(err); return data._id; })