如何在 mongoose 链式操作中实现遍历更新?

发布于 2022-09-02 15:09:36 字数 868 浏览 10 评论 0

var todoListSchema = mongoose.Schema({
    name: {type: String}
    , tag: {type: String}
    , createDate: {type: Date}
    , endDate: {type: Date} // 截止日期
    , content: {type: String}
    , done: {type: Boolean}
    , remainDate: {type: number} // 剩余天数
});

var todoList = mongoose.model('todos', todoListSchema);

以上是我设计的 ToDoList Schema,打算在查询某个人的 ToDoList 时,更新 endDate 的值并保存,最后输出结果。

express-promise 这个模块可以使 render 模版里的 mongoose 查询代码立即执行,所以我尝试发挥这一特长,使用了一下…

// app.js 中使用该模块
app.use(require('express-promise')());

然而下面代码犯了难…我尝试给Schema构造一个更新并保存remainDate的方法,将方法放在find操作与sort操作中间,会报错提示构造的方法不是一个function。难道只能用回调写吗???

// 想知道如何实现形似下面的代码
res.render('todos',{
    todos: todoList.find({name: req.session.user}).(将过滤后的每条todo,根据 endDate 与当前时间的差值更新remainDate值并保存).sort().exec()
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

落墨 2022-09-09 15:09:36

mongoose有一個'find'的pre hook

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文