我不断收到此错误:
Mongoose: invoice.remove({ _id: 3 }, {})
TypeError: invoiceRecord.remove(...).exec is not a function
字符串
我试图删除.exec,但它将无法识别我的函数(错误,数据)
这是我的函数
var deleteInvoice = () => {
return new Promise((resolve, reject) => {
invoiceRecord.remove(
).exec(function (err, data) {
if (err) {
reject(new Error('deleteInvoice ERROR : ' + err));
return;
}
if (data.result.n == 0) {
reject({code:"INVOICE_NOTFOUND", err:"This invoice could not be found: " + invoiceRecord._id});
return;
}
resolve(data);
})
})};
型
当我的invoiceRecord
已经有需要删除的数据时,我该如何执行此操作?
这个方法的作用是:
invoiceTable.remove (
{ _id: invoiceRecord._id }
,function(err, data) {
型
这不会:
invoiceRecord.remove (
{ _id: invoiceRecord._id }
,function(err, data) {
型
我真的不明白为什么
2条答案
按热度按时间f4t66c6m1#
此处记录了正确的语法。
由于所有的异步Mongoose方法都已经返回promise,你的代码可以重写为:
字符串
wfauudbj2#
Mongoose中的
remove()
方法已被弃用,取而代之的是deleteOne()
或deleteMany()
。因此,建议使用deleteOne()
删除单个文档。