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

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

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()
}

mongoose有一個'find'的pre hook

【热门文章】
【热门文章】