【问题标题】:Mongoose Sort a query result on the last element of an array field's valueMongoose 对数组字段值的最后一个元素的查询结果进行排序
【发布时间】:2021-01-21 05:54:20
【问题描述】:

我有一个像这样的猫鼬模式:

    const chatRoomSchema = new mongoose.Schema({
       roomid: String,
       eventid: String,
       users: [String],
       messages: [
        {
          userid: String,
          message: String,
          createdOn: { type: Date, default: Date.now },
        },
      ],
});

我想查询所有的聊天室,但我想根据得到最新聊天消息的聊天室进行排序(最后一个 createdOn 消息在前的聊天室)。

我知道我可以使用第一条消息的 createdOn 进行排序

Chatroom.find().sort({ "messages.0.createdOn": -1 })

但是我怎样才能对最后一条消息进行排序呢?

【问题讨论】:

    标签: node.js arrays mongodb mongoose mongodb-query


    【解决方案1】:
    Chatroom.find().sort({ "messages.createdOn": -1 })
    

    试试这个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-24
      • 2020-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      相关资源
      最近更新 更多