我必须阅读现有的mongo数据库。 mongoid适合这个吗?
我找到的所有教程都是从头开始构建一个mongo数据库。
我尝试使用mongoid访问数据库,并且没有显示现有信息的运气,这就是我尝试过的。
mongoid.yml:
development:
host: localhost
database: managementdb
test:
host: localhost
database: managementdb
我做了一个脚手架(我不喜欢mongoid如何接管脚手架)
模特:
class GamerProfile
include Mongoid::Document
store_in :profile
field :facebookId, :type => String
field :playerName, :type => String
field :locale, :type => String
field :dateJoined, :type => Time
end
但是localhost:27017 / managementdb / Profile中的现有信息未显示在视图中。
我只需要只读访问权限。 mongomapper或mongomodel会更适合吗?
答案 0 :(得分:2)
我尝试过mongoid之后尝试过mongomapper,它的名字就像它的名字所暗示的那样。
假设我在mongodb中有一个名为User
的集合,它与游戏中的用户有关但不一定与该应用程序的User
模型相关,那么我使用set_collection_name "User"
例如,在名为GameUser
的模型中。
我的初始化器直接取自mongodb docs;以mongomapper为例。
MongoMapper.connection = Mongo::Connection.new('localhost', 27017)
MongoMapper.database = "gamedb"
我的模型看起来像这样:
class GameUser
include MongoMapper::Document
set_collection_name "User"
key :playerName, :type => String
...
key :dateJoined, :type => Time
end
现在我的脚手架完全加载了GameUser
的数据。
答案 1 :(得分:0)
这取决于现有数据库包含的内容以及您要对其执行的操作。如果它只包含一些非特定于Rails的原始数据,则可以使用generic ruby driver对数据库进行原始查询。
如果数据库是使用Rails创建的,并且应该代表模型和其他Rails对象,则应该使用它创建的object mapper(我怀疑是这种情况)。