我得到了一些非常简单的错误,并且不确定我做错了什么。相当新的Mongo
将Rails 3.2.6与MongoDB和Mongoid一起使用。尝试将索引添加到嵌入字段。
我有一个模型'Scheme',它嵌入了'Referals'。 “Referal”有一个字段'to_code'(字符串)。我想索引这个字段。
class Scheme
include Mongoid::Document
include Mongoid::Timestamps
embeds_many :referals
index "referals.to_code" => 1
class Referal
include Mongoid::Document
include Mongoid::Timestamps
embedded_in :scheme
当我运行'rake db:mongoid:create_indexes'时,这个失败并出现此错误:
Not a Mongoid parent model: app/models/referal.rb
rake aborted!
Invalid index specification {"referals.to_code"=>1}; should be either a string, symbol, or an array of arrays.
据我所知,Mongoid文档完全遵循,所以不确定我做错了什么。 任何帮助非常感谢。
答案 0 :(得分:3)
我认为你正在使用mongoid 3语法和gem的第2版。
错误消息表明需要mongoid 2索引语法:http://two.mongoid.org/docs/indexing.html
您正在尝试使用mongoid 3索引语法:http://mongoid.org/en/mongoid/docs/indexing.html
检查您正在使用的gem版本,并相应地调整语法。