javascript - 无法读取 Node.js 中 castArrayFilters 处未定义的属性“castForQuery”
问题描述
我在findOneAndUpdate(在mongoose中)中使用arrayFilters作为选项来更新TimetableModel 中name和isRecursive字段的值。这些字段在MongoDb中成功更新,但我也收到异常,该异常被添加到此查询的末尾。
我应该怎么做才能消除这个异常?
以下是我的工作细节:
版本: “mongodb”:“^3.1.13”,“猫鼬”:“^5.4.9”,
这是架构:
const timetableSchema = new Schema({
individualId: {
type: Schema.Types.ObjectId,
required: true
},
date: {
type: Number,
required: false
},
time: []});
这是逻辑:
TimetableModel.findOneAndUpdate({
individualId: req.query.individualId,
date: req.query.date,
}, {
'time.$[i].name': req.query.name,
'time.$[i].isRecursive': req.query.isRecursive,
}, {
arrayFilters: [{
'i.timeSlot': req.query.timeSlot
}],
}, function (err, result) {
if (result) {
resolve(result);
} else if (err) {
reject(err);
}
}).catch((err) => {
reject(err);
})
这是例外
“类型错误:无法读取 castArrayFilters 中未定义的属性‘castForQuery’(/Users/user/Desktop/Projects/ParentsPlus/ParentsPlusRepo/parents-plus-back-end/node_modules/mongoose/lib/helpers/update/castArrayFilters.js:59 :37) 在 _castArrayFilters (/Users/user/Desktop/Projects/ParentsPlus/ParentsPlusRepo/parents-plus-back-end/node_modules/mongoose/lib/query.js:1739:5) 在 model.Query.Query._findAndModify ( /Users/user/Desktop/Projects/ParentsPlus/ParentsPlusRepo/parents-plus-back-end/node_modules/mongoose/lib/query.js:3205:3) 在model.Query. (/Users/user/Desktop/Projects/ ParentsPlus/ParentsPlusRepo/parents-plus-back-end/node_modules/mongoose/lib/query.js:2830:8) 在 model.Query。_wrappedThunk [as _findOneAndUpdate] (/Users/user/Desktop/Projects/ParentsPlus/ParentsPlusRepo/parents-plus-back-end/node_modules/mongoose/lib/helpers/query/wrapThunk.js:16:8) 在 process.nextTick ( /Users/user/Desktop/Projects/ParentsPlus/ParentsPlusRepo/parents-plus-back-end/node_modules/kareem/index.js:369:33) at _combinedTickCallback (internal/process/next_tick.js:132:7) at process ._tickCallback (内部/进程/next_tick.js:181:9)"
解决方案
我认为自版本以来存在错误,5.4.4
或者可能是另一个先前版本。据报道,这里。目前我通过将猫鼬版本下载到5.3.15
.
推荐阅读
- c - CodeBlocks 调试器显示断点,但不能再进一步了。找不到当前函数的边界
- java - 在 ListIterator 中后退而不复制显示的最后一个元素
- reactjs - React Native - 设置状态后状态返回null
- c# - 无法将自定义组件中的自定义属性保存到 DTSX 文件中
- python - 在 xarray 中打开多个具有相同维度和数据变量的 netcdf 文件
- javascript - 请求返回错误时如何从网站上抓取数据
- google-sheets - 谷歌表multible ImportXMLfails
- html - 如何下载上传到谷歌云存储上的文件而不是查看它?
- javascript - 如何从本地存储中获取存储的对象数组并使用java脚本在浏览器中显示
- firebase - E/MethodChannel#plugins.flutter.io/firebase_database(6299):处理方法调用失败