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 次 |
| 最近记录: |