Mongo DB查询仅获得一个带有外部ID的文档

时间:2018-09-19 18:49:13

标签: mongodb mongodb-query

我说我有这些文件的集合: enter image description here

底部的两个文档具有相同的firebaseUserId。如何形成仅获取具有相同firebaseUserId的两个文档之一的查询?我希望它选择的文档是我的选择,例如,“ testinnn”字段中值最高的那个。

我也将使用其他过滤器执行查询,例如testinnn大于数字。我只需要让它决定如果遇到具有相同firebaseUserId的两个文档,则选择哪个文档

2 个答案:

答案 0 :(得分:0)

您可以只使用sort()并为此limit()设置限制,如下所示:

db.collection.find({ firebaseUserId: "KnQEqsekY9XV3ayOx082xw8VQX2", "testinnn": { $gt: 1 }  /*add other filters as required*/ })
             .sort({ "testinnn": -1 /*sort by 'testinnn' descending */ })
             .limit(1)

答案 1 :(得分:0)

我在这里找到了答案:https://stackoverflow.com/a/25893214/8594124

首先我进行排序:

xPtr

然后我得到第一个:

{
  testinnn: -1
}