如何使用猫鼬创建较旧的加载或加载更多的呼叫

时间:2018-08-04 09:01:59

标签: mongoose

您可能会将其标记为重复的问题,但是我不知道该怎么说,所以很难找到答案。

如果我有

这样的模型
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var messageSchema = new Schema({
    created_at: {type: Date, default: Date.now},
    sender: {type: Schema.Types.ObjectId},
    content: String
});
module.exports = mongoose.model('Message', messageSchema);

所以一段时间后会注册很多消息。

现在我显示它们,但连续显示10个。

var Message = require('../models/message');
Message.find().sort('-created_at').limit(10).exec(function(err, messages) {
    var last = messages[messages.length - 1]._id
});

我放置了一个“加载较旧”按钮,该按钮应该从“最后一个”开始引入前10条消息,但我不知道该怎么办。

是否知道这样做的方式?

1 个答案:

答案 0 :(得分:0)

我从一开始就错了。我以为使用找到的最后一个文档的_id是解决方案,但是属性“ created_at”实际上是关键。

这样做可以轻松加载较旧的邮件

var last = new Date(messages[messages.length - 1].created_at);
Message.find().where('created_at').lt(last).exec()

由于已将“ created_at”注册为日期类型,因此可以进行这种查询。