英文:
MongoDB top 3 entries
问题
我想从我的位置表中获取最多的3个访问量最高的条目,并返回它们的ID。我该如何做?我的位置表包含名称、经度、纬度和城市[]。
英文:
I would like to get the most 3 accessed (popular) entries from my Location table and return their ID's. How can I do that?
My Location table contains name,logitude,latitude and city[].
答案1
得分: 1
是的,您需要跟踪文档被获取的次数。您可以使用以下方式实现:
doc = db.foo.findOneAndUpdate({name: 'X'}, {$inc: {count: 1}}, {returnDocument: 'after'});
每次调用 findOneAndUpdate
,字段 count
将被递增,并返回整个文档。
要找到前3个最受欢迎的位置,只需使用 sort
和 limit
:
db.foo.find().sort({count: -1}).limit(3);
英文:
Yes, you need to track the number of times the document has been fetched. You can do this with:
doc = db.foo.findOneAndUpdate({name:'X'},{$inc: {count:1}}, {returnDocument: 'after'});
Each time you call findOneAndUpdate
, the field count
will be incremented and the whole doc returned.
To find the top 3 most popular Locations, simply use sort
and limit
:
db.foo.find().sort({count:-1}).limit(3);
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论