MEAN堆栈-按日期排序不起作用

时间:2019-01-27 06:03:04

标签: node.js mongodb sorting mongoose mean

我一直在尝试根据日期和时间sort记录我的记录。但是我的结果没有按预期排序。

我正在使用new Date()-

在MongoDB中存储时间

let timestamp = new Date();

这是产生orderedpaginated文档的查询-

Product.find({})
    .sort({created_time: sortDirection})
    .skip(pageSize * pageNumber)
    .limit(pageSize)
    .select('name price currency bot_enabled created_time')
    .exec();

根据条件逻辑,这里sortDirection1还是-1find()的所有其他功能都可以正常工作,但sort({created_time: sortDirection})除外。它正在运行,但无法根据日期和时间进行排序。

我的代码中缺少任何内容吗?

谢谢!

编辑

这是我的收藏结构-

var productSchema = new Schema({
  name: {
    type: String,
    required: true
  },
  price: String,
  currency: String,
  description: String,
  bot_enabled: Boolean,
  created_time: String
}, { versionKey: false });

1 个答案:

答案 0 :(得分:0)

像下面这样使“ created_time”字段类型为“ Date”。

var productSchema = new Schema({
  name: {
    type: String,
    required: true
  },
  price: String,
  currency: String,
  description: String,
  bot_enabled: Boolean,
  created_time: Date
}, { versionKey: false });

这可能不适用于您的旧数据,但是在更改架构字段类型并将日期存储为日期格式后,此功能将起作用。