gpt4 book ai didi

ruby-on-rails - 在 Rails 应用程序中使用 mongoid 的 Mongo 查询导致光标超时错误

转载 作者:IT老高 更新时间:2023-10-28 13:11:04 24 4
gpt4 key购买 nike

我的 Rails 应用程序中有一个 mongo 查询超时,因为集合很大。

FbCheckin.where(ext_fb_place_id: self.ext_fb_place_id).all

我从文档中了解到,您可以添加一个 timeout 选项来防止光标超时并显示以下消息:

Moped::Errors::CursorNotFound: The operation: "GET MORE" failed with error

我尝试了几种方法,包括

FbCheckin.where(ext_fb_place_id: ext_fb_place_id, {:timeout=>false}).all

FbCheckin.find(ext_fb_place_id: ext_fb_place_id, {:timeout=>false}).all

但这些都不能阻止光标超时。

有谁知道我如何进行此查询并收集所有 FbCheckins 而不会事先光标超时?

谢谢

最佳答案

您想要的是在查询 mongodb 时将光标超时设置为 false。

这是您可以使用 mongoid 3 执行的操作:

FbCheckin.where(...).no_timeout.each do |fb_checkin|
"do something with fb_checkin"
end

关于ruby-on-rails - 在 Rails 应用程序中使用 mongoid 的 Mongo 查询导致光标超时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14763503/

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