gpt4 book ai didi

ruby - MongoDB 地理空间在 HTTP 请求之间加载更多

转载 作者:太空宇宙 更新时间:2023-11-03 16:57:44 25 4
gpt4 key购买 nike

AcaniUsers 从我的 iPhone 加载离我最近的 MongoDB 中的前 20 个用户(通过 Sinatra 在 Heroku 上)。我想添加一个“加载更多”按钮,用于加载离我最近的 20 个用户。请记住,我的位置和我手机上用户的位置可能已经改变。我正在考虑从 Sinatra 切换到 Node.js 并打开一个 WebSocket,这样我就可以在我的手机上实时更新用户的存在和位置,但我认为我应该把这个挑战留到下一次迭代。基本上,我应该如何实现加载更多功能?

最佳答案

要在 MongoDB 中对查询进行分页,您可以结合使用 limit() 和 skip()。

因此,第一个查询将是:

your_query.limit(20)

然后如果你想加载第二个 20(你将不得不在某处记住第一个查询):

your_query.skip(20).limit(20)

顺便说一句,我建议您首先执行限制高于 20 的查询,并将您不显示的结果放入缓存中。当请求时,只需从缓存中获取它们(您可以将其存储在用户 session 中)。如果位置发生变化,从头开始并重新查询使缓存无效的数据库。

关于ruby - MongoDB 地理空间在 HTTP 请求之间加载更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5755535/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com