我试图按日期对我的 Mongoose 条目进行排序,最近一次在node.js中用 Mongoose 表达。

Mongoose 查询为:

  FecalRequest.findOne({uid: req.user.id}, {sort:{'createdAt':-1}}, (err, fecalkits) => {
    console.log(fecalkits);
    done(err, respiratorykits, fecalkits)
  });

我已经尝试了created_at和createdAt。错误是
eMongoError:不支持的投影选项:排序:{createdAt:-1}

作为引用,FecalRequest模型如下所示:
const fecalSchema = new mongoose.Schema(
  {
    uid: String,
    email: String,
    status: {type: String, default: 'No Request' },
  },
  { timestamps: true });

我只想返回特定用户的最新条目。

最佳答案

包括一个空对象作为第二个(投影)参数,以便将 findOne 的第三个参数正确解释为查询选项:

FecalRequest.findOne({uid: req.user.id}, {}, {sort:{'createdAt':-1}}, (err, fecalkits) => {
  console.log(fecalkits);
  done(err, respiratorykits, fecalkits)
});

无疑,大多数时候我在答案中都使用“粪便”一词。

09-27 13:20