新手,换了mongoose之后,不知道如何根据时间排序。 或者问下,有什么好的办法 自己建立个id自增? 谢谢
7 回复
我的做法是新增一個 Mongoose plugin:
'use strict'
function timestamps(schema, options) {
schema.add({
create_at: { type: Date, default: Date.now },
update_at: { type: Date, default: Date.now }
})
schema.pre('save', function (next) {
this.update_at = new Date()
next()
})
}
module.exports = exports = timestamps
然後在每個 model 加上時間戳的寫法:
var timestamps = require('./timestamps')
var UserSchema = new mongoose.Schema({
//
})
UserSchema.plugin(timestamps)
刚好昨天用到排序这个,也是查了好久才知道mongoose的用法
我是这样用的
db.find({'name':'hello'}).sort({'date':'asc'}).exec(callback)
是的,用 sort
這個 API:
User.find({}).sort('create_at').exec(callback)
User.find({}).sort('-create_at').exec(callback)
User.find({}).sort({ create_at: 'asc' }).exec(callback)
User.find({}).sort({ create_at: -1 }).exec(callback)