如何基于猫鼬中的日期字符串对文档进行排序

时间:2019-07-23 08:00:27

标签: node.js mongodb express mongoose

我正在尝试使用猫鼬对日期集合进行排序。当我使用排序功能时,它无法按预期工作。

以下是我使用的查询。

const filters = {};
filters.spacecategory = { $in: spaceId };
const sortingQuery = { publishedDate: -1 };
const filteredFeeds = await Feed.find(filters).sort(sortingQuery);

publishedDate具有以下格式 MongoDB中的日期格式为“ 2019年3月29日星期五21:21:25 GMT + 0530(印度标准时间)”

非常感谢您的帮助,谢谢。

1 个答案:

答案 0 :(得分:0)

为此,您需要使用聚合管道。在排序之前,请使用项目1中的[$ dateFromString]将字符串转换为日期。

赞:

db.collectionname.aggregate([
    {
       $project: {
          date: {
             $dateFromString: {
                dateString: '$date',
                timezone: 'America/New_York'
             }
          }
       }
    },
    {
        $sort : {"date" : 1}
    }

    ])