Class FindOptions

  • All Implemented Interfaces:
    dev.morphia.internal.ReadConfigurable<FindOptions>, dev.morphia.internal.SessionConfigurable<FindOptions>

    public final class FindOptions
    extends Object
    implements dev.morphia.internal.SessionConfigurable<FindOptions>, dev.morphia.internal.ReadConfigurable<FindOptions>
    The options to apply to a find operation (also commonly referred to as a query).
    Since:
    1.3
    • Constructor Detail

      • FindOptions

        public FindOptions()
        Creates an instance with default values
    • Method Detail

      • apply

        public <T> com.mongodb.client.FindIterable<T> apply​(com.mongodb.client.FindIterable<T> iterable,
                                                            Mapper mapper,
                                                            Class<?> type)
        Type Parameters:
        T - the result type
        Parameters:
        iterable - the iterable to use
        mapper - the mapper to use
        type - the result type
        Returns:
        the iterable instance for the query results
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • batchSize

        public FindOptions batchSize​(int batchSize)
        Sets the batch size
        Parameters:
        batchSize - the size
        Returns:
        this
      • clientSession

        public FindOptions clientSession​(com.mongodb.client.ClientSession clientSession)
        Set the client session to use for the insert.
        Specified by:
        clientSession in interface dev.morphia.internal.SessionConfigurable<FindOptions>
        Parameters:
        clientSession - the client session
        Returns:
        this
        Since:
        2.0
      • clientSession

        public com.mongodb.client.ClientSession clientSession()
        The client session to use for the insertion.
        Specified by:
        clientSession in interface dev.morphia.internal.SessionConfigurable<FindOptions>
        Returns:
        the client session
        Since:
        2.0
      • collation

        public FindOptions collation​(com.mongodb.client.model.Collation collation)
        Sets the collation to use
        Parameters:
        collation - the collation
        Returns:
        this
      • comment

        public FindOptions comment​(String comment)
        Sets the comment to log with the query
        Parameters:
        comment - the comment
        Returns:
        this
      • copy

        public FindOptions copy()
        Returns:
        a copy of this instance
      • copy

        public FindOptions copy​(FindOptions original)
        Creates an copy of the given options
        Parameters:
        original - the original to copy
        Returns:
        the new copy
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • cursorType

        public FindOptions cursorType​(com.mongodb.CursorType cursorType)
        Sets the cursor type
        Parameters:
        cursorType - the type
        Returns:
        this
      • getBatchSize

        public int getBatchSize()
        Returns:
        the batch size
      • getCollation

        public com.mongodb.client.model.Collation getCollation()
        Returns:
        the collation
      • getComment

        public String getComment()
        Returns:
        the comment
      • getCursorType

        public com.mongodb.CursorType getCursorType()
        Returns:
        the cursor type
      • getHint

        public org.bson.Document getHint()
        Returns:
        the index hint
      • getLimit

        public int getLimit()
        Returns:
        the limit
      • getMax

        public org.bson.Document getMax()
        Returns:
        the max value
      • getMaxAwaitTime

        public long getMaxAwaitTime​(TimeUnit timeUnit)
        Parameters:
        timeUnit - the time unit to apply
        Returns:
        the max await time for the operation
      • getMaxTime

        public long getMaxTime​(TimeUnit timeUnit)
        Parameters:
        timeUnit - the time unit to apply
        Returns:
        the max time for the operation
      • getMin

        public org.bson.Document getMin()
        Returns:
        the min value
      • getProjection

        public Projection getProjection()
        Returns:
        the projection
      • getQueryLogId

        public String getQueryLogId()
        Returns:
        the query log id used for retrieving the logged query
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • getReadConcern

        public com.mongodb.ReadConcern getReadConcern()
        Description copied from interface: dev.morphia.internal.ReadConfigurable
        Gets the read concern
        Specified by:
        getReadConcern in interface dev.morphia.internal.ReadConfigurable<FindOptions>
        Returns:
        the read concern
      • getReadPreference

        public com.mongodb.ReadPreference getReadPreference()
        Specified by:
        getReadPreference in interface dev.morphia.internal.ReadConfigurable<FindOptions>
        Returns:
        the read preference
      • readConcern

        public FindOptions readConcern​(com.mongodb.ReadConcern readConcern)
        Description copied from interface: dev.morphia.internal.ReadConfigurable
        Sets the read concern to apply
        Specified by:
        readConcern in interface dev.morphia.internal.ReadConfigurable<FindOptions>
        Parameters:
        readConcern - the read concern
        Returns:
        this
      • readPreference

        public FindOptions readPreference​(com.mongodb.ReadPreference readPreference)
        Description copied from interface: dev.morphia.internal.ReadConfigurable
        Sets the read preference to apply
        Specified by:
        readPreference in interface dev.morphia.internal.ReadConfigurable<FindOptions>
        Parameters:
        readPreference - the read preference
        Returns:
        this
      • getSkip

        public int getSkip()
        Returns:
        the skip count
      • hint

        public FindOptions hint​(org.bson.Document hint)
        Sets the index hint
        Parameters:
        hint - the hint
        Returns:
        this
      • hint

        public FindOptions hint​(String hint)
        Defines the index hint value
        Parameters:
        hint - the hint
        Returns:
        this
      • getSort

        public org.bson.Document getSort()
        Returns:
        the sort criteria
      • hint

        @Deprecated(since="2.0",
                    forRemoval=true)
        public FindOptions hint​(com.mongodb.DBObject hint)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Defines the index hint value
        Parameters:
        hint - the hint
        Returns:
        this
      • isLogQuery

        public boolean isLogQuery()
        This is an experimental method. It's implementation and presence are subject to change.
        Returns:
        this
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • isNoCursorTimeout

        public boolean isNoCursorTimeout()
        Returns:
        is the cursor timeout enabled
      • isOplogReplay

        public boolean isOplogReplay()
        Returns:
        is oplog replay enabled
      • isPartial

        public boolean isPartial()
        Returns:
        are partial results enabled
      • isReturnKey

        public boolean isReturnKey()
        Returns:
        is return key only enabled
      • isShowRecordId

        public boolean isShowRecordId()
        Returns:
        is showing the record id enabled
      • limit

        public FindOptions limit​(int limit)
        Sets the limit
        Parameters:
        limit - the limit
        Returns:
        this
      • logQuery

        public FindOptions logQuery()
        This is an experimental method. It's implementation and presence are subject to change.
        Returns:
        this
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • max

        public FindOptions max​(org.bson.Document max)
        Sets the max index value
        Parameters:
        max - the max
        Returns:
        this
      • hintString

        public FindOptions hintString​(String hint)
        Defines the index hint value
        Parameters:
        hint - the hint
        Returns:
        this
      • maxAwaitTime

        public FindOptions maxAwaitTime​(long maxAwaitTime,
                                        TimeUnit timeUnit)
        Sets the max await time
        Parameters:
        maxAwaitTime - the max
        timeUnit - the unit
        Returns:
        this
      • maxTime

        public FindOptions maxTime​(long maxTime,
                                   TimeUnit timeUnit)
        Sets the max time
        Parameters:
        maxTime - the max
        timeUnit - the unit
        Returns:
        this
      • min

        public FindOptions min​(org.bson.Document min)
        Sets the min index value
        Parameters:
        min - the min
        Returns:
        this
      • max

        @Deprecated(since="2.0",
                    forRemoval=true)
        public FindOptions max​(com.mongodb.DBObject max)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Defines the max value
        Parameters:
        max - the max
        Returns:
        this
      • noCursorTimeout

        public FindOptions noCursorTimeout​(boolean noCursorTimeout)
        Sets whether to disable cursor time out
        Parameters:
        noCursorTimeout - true if the time should be disabled
        Returns:
        this
      • oplogReplay

        public FindOptions oplogReplay​(boolean oplogReplay)
        Users should not set this under normal circumstances.
        Parameters:
        oplogReplay - if oplog replay is enabled
        Returns:
        this
      • partial

        public FindOptions partial​(boolean partial)
        Get partial results from a sharded cluster if one or more shards are unreachable (instead of throwing an error).
        Parameters:
        partial - if partial results for sharded clusters is enabled
        Returns:
        this
      • projection

        public Projection projection()
        Returns:
        the projection
      • min

        @Deprecated(since="2.0",
                    forRemoval=true)
        public FindOptions min​(com.mongodb.DBObject min)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Defines the min value
        Parameters:
        min - the min
        Returns:
        this
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • returnKey

        public FindOptions returnKey​(boolean returnKey)
        Sets if only the key value should be returned
        Parameters:
        returnKey - true if only the key should be returned
        Returns:
        this
      • showRecordId

        public FindOptions showRecordId​(boolean showRecordId)
        Sets if the record ID should be returned
        Parameters:
        showRecordId - true if the record id should be returned
        Returns:
        this
      • skip

        public FindOptions skip​(int skip)
        Sets how many documents to skip
        Parameters:
        skip - the count
        Returns:
        this
      • sort

        public FindOptions sort​(Meta meta)
        Sets to the sort to use
        Parameters:
        meta - the meta data to sort by
        Returns:
        this
        Since:
        2.0
      • sort

        public FindOptions sort​(org.bson.Document sort)
        Sets to the sort to use
        Parameters:
        sort - the sort document
        Returns:
        this
      • sort

        public FindOptions sort​(Sort... sorts)
        Sets to the sort to use
        Parameters:
        sorts - the sorts to apply
        Returns:
        this