-
Notifications
You must be signed in to change notification settings - Fork 29
Open
Description
reorder without arguments is ignored inside scopes when there is a default scope. However, with arguments will work as expected. In order words, there seems to be no way to clear a sort entirely from within a scope lambda expression. For example:
class MyDoc
include Mongoid::Document
default_scope ->{ asc(:foo, :bar) }
scope :scope_1 ->{ where(foo: "hello").reorder }
scope :scope_2 ->{ where(foo: "hello").reorder(bar: :asc) }
endthen
MyDoc.scope_1 #=> sorts by foo: 1, bar: 1; I expected to have no sort
MyDoc.scope_2 #=> sorts by bar: 1 as expectedThis is important in some cases when using indexes, sometimes a sort will cause MongoDB to skip using an index when using complex expressions.
Metadata
Metadata
Assignees
Labels
No labels