以下函数由async/await函数调用,因此我需要从Mongoose返回一个真正的Promise,因此使用了".exec()",根据文档和这个SO线程。
执行操作后,我遇到了以下错误:
// where data is an array of documents
function insertNewResults(data) {
return Model.insertMany(data).exec();
}
执行操作后,我遇到了以下错误:
如果我移除exec(),那么我就可以无问题地执行insertMany。使用exec()的其他查询似乎没有出现任何错误,这使得整个过程更加困惑。请问有人能够解释为什么会出现这种情况吗? 编辑1:以下是我的模式代码。TypeError: Model.insertMany(...).exec is not a function at insertNewResults
const mongoose = require('mongoose');
const schema = new mongoose.Schema({
date: { type: Date, required: true },
price: { type: Number, required: true },
result: { type: String, required: true }
}, { usePushEach: true });
schema.index(
{ date: -1 }
);
mongoose.model('Model', schema);