1
具有大約800-900條記錄的Mongo備份模型我試圖迭代並使用某些屬性生成CSV。迭代「大」集合時Rails 4和Mongo DB 4.x錯誤
所以它看起來像這樣:
each do |car|
csv << columns.map { |column| car.__send__(column) }
end
而且我得到的錯誤是這樣的:
A Moped::Errors::QueryFailure occurred in cars#index:
The operation: #<Moped::Protocol::Query
@length=94
@request_id=376
@response_to=0
@op_code=2004
@flags=[]
@full_collection_name="app555555.cars"
@skip=0
@limit=0
@selector={"$query"=>{}, "$orderby"=>{"created_at"=>-1}}
@fields=nil>
failed with error 10128: "too much data for sort() with no index. add an index or specify a smaller limit"
See https://github.com/mongodb/mongo/blob/master/docs/errors.md
for details about this error.
app/models/car.rb:84:in `block in to_csv'
感謝grimsock,我在默認順序列(它是'created_at')上添加了索引,它的工作原理! –