您可能会将其标记为重复的问题,但是我不知道该怎么说,所以很难找到答案。
如果我有
这样的模型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条消息,但我不知道该怎么办。
是否知道这样做的方式?
答案 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”注册为日期类型,因此可以进行这种查询。