嗨,我正在尝试以创建它的向后顺序返回我的查询。
有关如何使用sort方法的文档有点不清楚:
http://mongoosejs.com/docs/api.html#types_array_MongooseArray.sort
这是我的架构:
"C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin\Roslyn\csc.exe" MyApplication.cs
我跑了,
const mongoose = require('mongoose'),
Schema = mongoose.Schema,
ObjectId = Schema.Types.ObjectId;
let PostSchema = new Schema({
title : String,
description: String,
image : String,
tags : [String],
original_poster: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
},
date: {
type: Date,
default: new Date()
}
})
module.exports = mongoose.model('Post',PostSchema);
例如,如果我的模型是'Post'模型,我的第一个帖子是'hello world',而我的第二个帖子是'这是一个帖子'。我想看看:
db.posts.find().sort({date:-1}).pretty()
然而,我实际看到的是 ['this is a post', 'hello world']
答案 0 :(得分:1)
找出答案
帖子架构中的添加:
[2, 3, 5, 7, 11, 13, 17, 19, 23]
然后db.posts.find()。sort({date:-1})。pretty()将产生从最近到最近排序的帖子
答案 1 :(得分:0)
您必须在架构中添加创建时间戳并按其键排序。
let PostSchema = new Schema({
title : String,
description: String,
date : Date, // Here is your date
image : String,
tags : [String],
original_poster: {
type: Schema.Types.ObjectId,
ref: 'User',
required: true
}
})
当您插入文档时,请使用:
date: new Date()