Rails Console 不显示 mongodb 中存在的数据



我正在使用mongoid gem与MongoDB一起研究轨道。我已经使用brew在OSX上设置了MongoDB。我从服务器获取数据转储并将其恢复到本地计算机上。我可以使用 mongo shell 查看数据库中存在的数据。但是当我使用 rails 控制台获取数据时,它什么也不返回。

示例,当我在 rails 控制台中运行此命令时,我得到的结果为 []。服务器上的相同命令提供 1 条记录。

Network.all.to_a 

而在数据库中有 1 条记录属于网络集合。 mongoid.yml 中提到的数据库与 mongo shell 中显示的数据库相同。

网络模型描述为

class Network
include Mongoid::Document
include Mongoid::Timestamps
has_many :network_devices
field :network_id, type: String
field :node_mac, type: String
field :version, type: String
end

如果您的数据在开发数据库中,那么您需要在访问 rails 控制台时将 rails 的环境设置为开发环境。

我知道有两种方法可以做到这一点,(1(在您的命令设置环境变量之前RAILS_ENV=development,或者您可以将其导出。(2( 另一种方法是使用-e标志,后跟所需的环境,因此如果您尝试使用开发环境 rails 控制台,它将bundle exec rails c -e development

我希望这有所帮助。

所以这可能看起来很奇怪,但重新启动我的笔记本电脑解决了这个问题。

最新更新