MongoDB通过自定义键进行查询收集并返回具有限制的嵌套对象

时间:2018-01-05 07:23:32

标签: mongodb mongodb-query

尝试查询嵌套对象的MongoDB集合,任何大师都要关心分享知识吗?

将用简化的例子来解释。

从“loc”数组中获取最后两个对象,其中“uuid”等于16。

任何帮助都非常感激。

示例集合:

{  
   "_id":ObjectId("5a4f1ff0fc6ded723265e6b0"),
   "uuid":"15",
   "location_history":{  
      "loc":[  
         {  
            //remove for demo sake
         },
         {  
            //remove for demo sake
         },
         {  
            //remove for demo sake
         }
      ]
   }
},
{  
   "_id":ObjectId("3a4f1ff0fc55ed723265e6b0"),
   "uuid":"16",
   "location_history":{  
      "loc":[  
         {  
            //remove for demo sake
         },
         {  
            //remove for demo sake
         },
         {  
            //remove for demo sake
         }
      ]
   }
}

1 个答案:

答案 0 :(得分:1)

Yoe可以使用值-2的{​​{3}}作为投影来从嵌套数组中获取最后两个文档。

db.collection.find({ "uuid": "16" }, { "location_history.loc": { $slice: -2 } })