Mongodb的Min key和Max key是能查找最大最小值的新功能吗?

it2023-02-24  84

今天,在一个偶然的机会,在Mongodb的文档中看到$type(https://docs.mongodb.com/manual/reference/operator/query/type/),试了一下其中的功能,觉得不错,在列表最后

TypeNumberAliasNotesMin key-1“minKey”Max key127“maxKey”

在Robo 3T中对一个collection进行查找

db.getCollection('c1').find({"id":{$type: 127}}) #结果 Fetched 0 record(s) in 1ms

此collection中有10万条数据,查找的字段是数值型,有最大值,怎么没有找出想要的值呢?

又试了一下-1,还是如此。

再认真看文档,得到提示 This returns

{ "_id" : 2, "address" : { "building" : "1166", "coord" : [ -73.955184, 40.738589 ], "street" : "Manhattan Ave", "zipcode" : "11222" }, "borough" : "Brooklyn", "cuisine" : "Bakery", "grades" : [ { "date" : ISODate("2014-03-03T00:00:00Z"), "grade" : { "$maxKey" : 1 }, "score" : 2 }, { "date" : ISODate("2013-09-11T00:00:00Z"), "grade" : "B", "score" : 6 }, { "date" : ISODate("2013-01-24T00:00:00Z"), "grade" : { "$maxKey" : 1 }, "score" : 3 }, { "date" : ISODate("2011-11-23T00:00:00Z"), "grade" : "B", "score" : 5 } ], "name" : "Dainty Daisey's Donuts", "restaurant_id" : "30075449" }

我将其中一个id的值替换为 { “$maxKey” : 1 }。运行语句,可以查出需要的结果。

它们的作用,估计是用来标识最大最小值的,实际应用场景暂时没想到。

最新回复(0)