我正在使用mongoid gem在MongoDB上使用rails。我已经使用brew在OSX上设置了MongoDB。我从服务器上获取数据转储并在本地机器上恢复它。我可以使用mongo shell查看数据库中的数据。但是当我使用rails console获取数据时,它什么也没有返回。
我在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
答案 0 :(得分:0)
如果您的数据位于开发数据库中,那么您需要在访问rails控制台时为开发环境设置rails的环境。
我知道有两种方法可以做到这一点,(1)在您的命令设置环境变量RAILS_ENV=development
之前,或者您可以将其导出。 (2)另一种方法是使用-e
标志,后跟所需的环境,所以如果你试图使用开发环境rails console,它将是bundle exec rails c -e development
我希望有所帮助。
答案 1 :(得分:0)
所以看起来很奇怪,但重启我的笔记本电脑解决了这个问题。