如何在MongoDB中从某些类别中查找特定文档

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在MongoDB中从某些类别中查找特定文档相关的知识,希望对你有一定的参考价值。

对不起,标题不好。我不知道该怎么说。因此,我有一组有关状态的数据,我无法弄清楚如何构造管道以获取特定数据。这是我收藏中的文件的示例。


    state: "California",
    date: "2010-08-11"
    otherData: "Something Else"

所有文档都采用这种格式。我想要做的是为每个州获取一份最新日期的文档。我曾尝试使用$ group,但无法弄清楚如何仅从一个文档中获取数据。我尝试使用$ match,但是后来我不知道如何为每个州只获得一个。

答案

请尝试以下查询:

db.collection.aggregate([
  
    $project: 
      state: 1,
      date: 
        $dateFromString: 
          dateString: "$date",
          format: "%Y-%m-%d"
        
      
    
  ,
  
    $group: 
      _id: "$state",
      mostRecentDate: 
        $max: "$date"
      
    
  ,
  
    $project: 
      state: "$_id",
      date: 
        $dateToString: 
          date: "$mostRecentDate",
          format: "%Y-%m-%d"
        
      ,
      _id: 0
    
  
])

MongoPlayGroundLink

以上是关于如何在MongoDB中从某些类别中查找特定文档的主要内容,如果未能解决你的问题,请参考以下文章

如何在任意深度查找 MongoDB 字段名称

如何在 Spring Boot 中从 MongoDb 中仅读取特定的 JSON 节点

通过 Mongoose、Node.js、MongodB 中的特定属性查找嵌入式文档

如何在 Android Studio 中从 Firebase 中查找特定值的计数?

MongoDB:在一个查询中从不同的集合中获取文档

Firestore如何在回收站视图中从firestore检索数据