当前位置: 首页 > 知识库问答 >
问题:

如何在Mongoose中用findOne找到最近的(相同的)文档

谢俊力
2023-03-14

我正在尝试使用findOne(未找到)在Mongoose中查找文档,并且我想获取最新的文档,即使它们可能具有相同的字段。

例如,这些是猫鼬中的文档:

// Let's say this one was created a week ago in Mongoose
{
  name: "John Smith",
  age: 27,
  industry: "finance"
}

// This one was created this morning
{
  name: "John Smith",
  age: 27,
  industry: "healthcare"
}

所以我需要按照这样的思路做一个查询:

const client = await Client.findOne({name: "John Smith"});

console.log(client);

/* 
result: 
{
  name: "John Smith",
  age: 27,
  industry: "finance"
} 

expected: 
{
  name: "John Smith",
  age: 27,
  industry: "healthcare"
}
*/

因此,当我按名称Client.findOne时,我期待的是最近的文档。然而Client.findOne似乎只返回旧的。

有什么建议吗?

共有1个答案

令狐嘉禧
2023-03-14

参数传递为Object<code>sort:{“created_at”:-1}</code>将-1更改为1将获取最旧的记录因此您的新查询如下所示

const client = Client.findOne({name: "John Smith"}).sort({created_at: -1});
 类似资料:
  • 我正在尝试使用jgraph T解决一个链接预测问题。我正在根据两个节点的邻居计算两个节点之间的相似性。每个节点都有一些属性。计算变得太多了,因为一些节点有大约700个邻居,而我有4500个这样的节点。我有谁对的700K边,我计算相似性。 现在,我不想使用节点的所有邻居,我只想使用每个节点的k个最近邻居来计算一对节点之间的相似度。我可以根据边共享的两个节点的属性数,或节点之间长度为n的最短路径数等,

  • 问题内容: 我想知道是否有可能找到一个最接近的元素的元素 ,是不是 在那里。 例如,如果我们具有[1,3,6,7]值,并且正在寻找最接近4的元素,则它应返回3,因为3是数组中的最大数字,小于4。 我希望这是有道理的,因为英语不是我的母语。 问题答案: 如果数组已排序,则可以在以下位置进行修改的二进制搜索:

  • 问题内容: 我正在寻找一种借助Elasticsearch查找最近价格/数量的可能性。问题是我没有范围。我要实现的是,结果按最近距离排序。根据示例搜索查询,我的索引包含3个具有以下价格(数字)的文档:45、27、32 给定数字与我的搜索值29的“距离”为45-29 = 16 | 27-29 = -2 | 32-29 = 3,所以我希望搜索结果是按“距离”评分的,该数字距离给定价格不远。 搜索查询示例

  • 问题内容: 我向我的脚本发送这些参数:纬度:41.0186经度:28.964701(为示例)。我想找到最近的位置的名字。这该怎么做?(查询的代码必须更改的地方) SQL查询: 位置表是这样的:(实际上,这是巨大的表) 问题答案: 使用这个功能 您可以通过此功能进行排序,但是在大型数据集上这将非常慢,因此请尝试对记录集进行预过滤 UPD: 使用@chopikadze的测试数据: 假设地球不是大地水准

  • 问题内容: 我想在哈希图中搜索键,然后找到与该键最接近的键! 因此,基本上我想搜索一个long,如果地图中不存在该long,则找到与该long值最接近的匹配项!我怎样才能做到这一点!? 提前感谢 问题答案: 如果不迭代其所有键,就无法做到这一点。我假设这不是您想要的,所以这是一种使用的方法: