Che*_*rot 10 ruby mongodb mongoid
我有一个工作,为我的文档创建新的字段,我希望,在这个工作结束时,为这个字段创建索引.我试过了
Model.index("field"=>-1)
Run Code Online (Sandbox Code Playgroud)
并且
Mongoid::Sessions.default[:rating_prediction].ensureIndex
Run Code Online (Sandbox Code Playgroud)
没有成功
这可能吗?
mu *_*ort 16
Model.index(:field => -1)
或多或少说,只是注册索引的存在Model
,它实际上并不创建索引.您正在寻找create_indexes
:
- (true) create_indexes
将实际索引创建注释发送到MongoDB驱动程序
所以你想说:
Model.index(:field => -1)
Model.create_indexes
Run Code Online (Sandbox Code Playgroud)
您也可以通过调用create
集合来直接通过Moped创建它们indexes
:
Mongoid::Sessions.default[:models].indexes.create(:field => 1)
Model.collection.indexes.create(:field => 1)
Run Code Online (Sandbox Code Playgroud)
Mongoid::Sessions
已被重命名为Mongoid::Clients
较新版本,因此您可能需要说:
Mongoid::Clients.default[:models].indexes.create(:field => 1)
Model.collection.indexes.create(:field => 1)
Run Code Online (Sandbox Code Playgroud)
感谢js_注意到这一变化.
归档时间: |
|
查看次数: |
5867 次 |
最近记录: |