【发布时间】:2020-05-22 10:02:36
【问题描述】:
如何在 MongoDB 中按升序或降序对文档进行排序
const contact = await AtHome.aggregate([
{
$project:{
name:1,
partnerName:1,
phone:1,
email:1,
city:1,
guest:1,
desc:1,
requestedOn: { $dateToString: { format: "%d-%m-%Y", date: "$createdAt" } },
weddingDate: { $dateToString: { format: "%d-%m-%Y", date: "$weddingDate" } },
}
},
{ $sort : { createdAt : -1 } }
]);
try {
res.send(contact);
} catch (err) {
res.send('INVALID');
}
我想将 createdAt:1 添加到 $project 对象,但没有奏效。 AtHome.js(架构)
const mongoose = require('mongoose');
const atHomeSchema = new mongoose.Schema({
name: {
type: String,
required: true
},
partnerName: {
type: String,
required: true
},
email: {
type: String,
required: true
},
phone: {
type: String,
required: true
},
weddingDate: {
type: Date,
required: false
},
city: {
type: String,
required: true
},
guest: {
type: Number,
required: true
},
desc: {
type: String,
required: true
},
createdAt:{
type: Date,
default: Date.now()
}
});
module.exports = mongoose.model('AtHome', atHomeSchema);
我添加了 AtHome.js,这是我的架构文件
这是我尝试过但不起作用的方法,我只是得到未排序的文档 请帮我 谢谢你
【问题讨论】:
-
请发送您的
AtHome架构。 -
将
createdAt: 1添加到$project对象。 -
@MahdiHashemi
const atHomeSchema = new mongoose.Schema({ name: { type: String, required: true }, partnerName: { type: String, required: true }, email: { type: String, required: true }, phone: { type: String, required: true }, weddingDate: { type: Date, required: false }, city: { type: String, required: true }, guest: { type: Number, required: true }, desc: { type: String, required: true }, createdAt:{ type: Date, default: Date.now() } }); -
不要在评论部分发送,更新你的问题。
-
@MahdiHashemi 将 createdAt: 1 添加到 $project 对象。没用
标签: node.js mongodb sorting aggregate