问题标签 [mongoose-middleware]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 为什么我必须在猫鼬预保存中间件中使用 next()
我是第一次使用预保存中间件,有点困惑
我看到了中间件的猫鼬指南,但我仍然不明白为什么我们必须在 func 参数中声明下一个并在函数末尾使用它,我认为它确保在保存模型之前执行所有语句但我'不知道谁能给我解释一下
javascript - 如何为多个方法注册相同的猫鼬钩子?
我想在 pre-hook 中使用多种方法执行相同的脚本,如下所示:
&
因此,正如您在上面的 2 个脚本中注意到的那样,它们都在执行相同的代码,但具有不同的方法:findOne
& findOneAndUpdate
。
那么,有没有办法一次用相同的代码注册两个预挂钩?
node.js - Mongoose:成功创建子文档时更新父文档的字段数组
我在mongoose
-Tweet
和Comment
模型中有 2 个模式。
架构Tweet
:
架构Comment
:
在POST
路线上,我有:
在创建评论时,我想使用post
钩子中间件来更新文档comments
中的字段。tweet
根据mongoose
的文档,Model.create()
触发save()
中间件。这是正确的,因为打印了“hello world”。doc
也在打印新创建的comment
文档。
但是,我收到一条错误消息:
有谁知道出了什么问题?我理解错了吗?
mongodb - mongoose pre 中间件不执行 next
我创建了一个猫鼬中间件,我想返回一个不同的结果(例如一些硬编码的模拟数据)
所以我需要中间件不要在回调函数结束时调用“next()”(因为即使我不调用它,它似乎也被调用了。因为当触发下一个时,原始请求正在发送并返回它的结果,我不想要那个
mongodb - Mongoose post init 钩子返回部分文档
Mongoose 中间件 post init 挂钩仅返回部分文档。
它返回_id
和另一个属性(称为commitments
),即使预算模式具有相当多的属性(20+)。
注意:财产没有什么特别之处commitments
。此外,记录完全丰富了数据。
我应该补充一点,我的要求是在返回之前修改获取的文档。
mongodb - Mongoose 查询中间件错误(查询已执行)
当我执行这个模型时,我得到了错误。请解决这个问题。这个问题让我很头疼。反对使用“这里的内容,这里的内容”,使它看起来像可读的英语,许多桌面出版包和网页编辑器现在使用“Lorem Ipsum”作为他们的默认模型文本,搜索“Lorem Ipsum”将发现许多网络网站仍处于起步阶段。多年来,各种版本不断发展。
当我在中间件上运行 calcAverageRatings 然后我得到了这个
javascript - 猫鼬中的多对多关系级联更新(在ID数组类型的字段中添加或删除元素)?
我希望这个问题能找到你。我有两个模型,第一个教师模型如下:
和这里程序模型
我想添加一个中间件,这样当我通过删除或添加faculties数组中的元素来更新程序时,它将根据删除的faculty_id自动删除或添加到programs字段中。反之亦然,如果通过删除或添加程序字段中的元素来更新学院,则应在相关程序的学院字段中相应地添加或删除学院。我知道前置和后置中间件,但我不知道如何进行这个特定的更新级联,请帮助我,这对我来说真的很重要。太感谢了。