是否有可能使用两个日期上的条件以最大日期获取所有文档

时间:2018-09-18 10:08:09

标签: database mongodb filter criteria

我在“合并”集合中收集的文档具有扁平结构和大量“字段”(超过100个)。

在这些字段中,“ partNumber”和“ date”不是唯一的。

我是mongo的新手,我需要检索所有文档(及其所有字段,而无需在项目阶段明确列出它们),但仅选择具有给定partNumber的最新日期的记录。对于所有partNumbers)。 在mongoDB 3.2中可能吗?什么是查询?

非常感谢。

2 个答案:

答案 0 :(得分:0)

是的,您是否想知道MongoDB查询此内容?还是您正在使用任何后端编程语言?

答案 1 :(得分:0)

After struggling on complex aggregation queries, I found a KISS solution with some code and only 2 queries: - 1 aggregation query to retrieve couples partNumber, most recent date

db.getCollection('merge').aggregate(
   [
     { $group : { _id : "$partNumber", maxdate: { $max: "$date" } } }
   ]
)
  • Then in python, a single find query using all tuples parsed from previous step with (partNumber = partNumber1 and date = date1) or (partNumber = partNumber2 and date = date 2) or ...

Performs very fast.