我有一个工作,为我的文档创建新的字段,我希望,在这个工作结束时,为这个字段创建索引.
我试过了
我试过了
Model.index("field"=>-1)
并且
Mongoid::Sessions.default[:rating_prediction].ensureIndex
没有成功
这可能吗?
解决方法
说
Model.index(:field => -1)
,或多或少,只是用Model注册索引的存在,它实际上并不创建索引.你在找
create_indexes
:
- (true) create_indexes
Send the actual index creation comments to the MongoDB driver
所以你想说:
Model.index(:field => -1) Model.create_indexes
您也可以通过在集合indexes
上调用create
直接通过Moped创建它们:
Mongoid::Sessions.default[:models].indexes.create(:field => 1) Model.collection.indexes.create(:field => 1)
Mongoid :: Sessions已在较新版本中重命名为Mongoid :: Clients,因此您可能需要说:
Mongoid::Clients.default[:models].indexes.create(:field => 1) Model.collection.indexes.create(:field => 1)
感谢js_注意到这一变化.