gpt4 book ai didi

Mongoose JobSchema.pre ('update' , function(n){n()}) 抛出 : TypeError: Cannot read property 'numAsyncPres' of undefined

转载 作者:行者123 更新时间:2023-12-03 18:23:33 26 4
gpt4 key购买 nike

我在 mongoose 中有这个架构,当我使用 pre 和 update 时,出现此错误。

JobSchema.pre('update', function(n){n()})

完全错误
C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\utils.js:413
throw err;
^
TypeError: Cannot read property 'numAsyncPres' of undefined
at Model._lazySetupHooks (C:\web\production01_server\node_modules\production\node_modules\mongoose\node_modules\hooks\hooks.js:149:49)
at Model.pre (C:\web\production01_server\node_modules\production\node_modules\mongoose\node_modules\hooks\hooks.js:113:10)
at Model.doQueue (C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\document.js:1116:41)
at Model.Document (C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\document.js:55:8)
at Model.Model (C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\model.js:26:12)
at Model.model (C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\model.js:910:11)
at new Model (C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\connection.js:418:15)
at cb (C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\query.js:804:16)
at C:\web\production01_server\node_modules\production\node_modules\mongoose\lib\utils.js:408:16
at C:\web\production01_server\node_modules\production\node_modules\mongoose\node_modules\mongodb\lib\mongodb\cursor.js:133:9

笔记:
  • 预('保存'作品
  • post('update' 不会抛出错误并且不起作用
  • 最佳答案

    Mongoose 4.0 通过查询中间件支持预更新 Hook 。
    http://mongoosejs.com/docs/middleware.html

    schema.pre('update', function() {
    console.log(this instanceof mongoose.Query); // true
    this.start = Date.now();
    });

    schema.post('update', function() {
    console.log(this instanceof mongoose.Query); // true
    console.log('update() took ' + (Date.now() - this.start) + ' millis');
    });

    注意事项:

    "Query middleware differs from document middleware in a subtle but important way: in document middleware, this refers to the document being updated. In query middleware, mongoose doesn't necessarily have a reference to the document being updated, so this refers to the query object rather than the document being updated."

    关于Mongoose JobSchema.pre ('update' , function(n){n()}) 抛出 : TypeError: Cannot read property 'numAsyncPres' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11761819/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com