【问题标题】:Nodejs: Mongoose find latest entry of the DB with filter [duplicate]Nodejs:猫鼬使用过滤器查找数据库的最新条目[重复]
【发布时间】:2017-11-15 01:57:22
【问题描述】:

所以,我一直在努力为我的问题找到正确的答案,即使有一些问题 come pretty close,我也不确定它们是否适用于我的特定情况:

我有一个不断被信息提供的 MongoDB,我想查询最新的文档但指定一个过滤器:

return new Promise((resolve, reject) => {
    model.findOne({ bar: "foo" }, {}, { sort: { n: -1 } }, function(
      err,
      obj
    ) {
      resolve(obj);
    });
  });

上面的代码没有实现我想要做的正确......我的猜测是它首先查找具有键 bar / value foo 的文档,然后对结果进行排序,因为“结果”实际上只是一个结果,它本身对“无”进行排序,因此返回在数据库中找到的第一个“foo”文档。

数据库有很多“foo”文档,我想查询最新的。

提前致谢。

【问题讨论】:

  • 这里的 n 是什么?
  • 这是一个时间戳
  • 我已经粘贴了一个解决方案,请您尝试回复

标签: node.js mongodb mongoose


【解决方案1】:

我猜你打算在 bar key 处获取包含 foo 的最新文档,所以这将返回最新的文档。

 return new Promise((resolve, reject) => {
        model.findOne({ bar: "foo" }, {}, { sort: { '_id': -1 } }, function(
          err,
          obj
        ) {
          resolve(obj);
        });
      });

【讨论】:

  • 嗨,萨加尔!确实奏效了。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-02-02
  • 1970-01-01
  • 2019-12-21
  • 2017-07-18
  • 2018-01-28
  • 2021-04-10
  • 2021-09-08
相关资源
最近更新 更多