Class FindOptions

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

    public final class FindOptions
    extends Object
    implements dev.morphia.internal.ReadConfigurable<FindOptions>, dev.morphia.internal.CollectionConfigurable<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

      • allowDiskUse

        public FindOptions allowDiskUse​(Boolean allowDiskUse)
        Enables writing to temporary files on the server. When set to true, the server can write temporary data to disk while executing the find operation.
        Parameters:
        allowDiskUse - true to allow disk use
        Returns:
        this
        Since:
        2.2
      • apply

        @MorphiaInternal
        public <T> FindIterable<T> apply​(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
      • collation

        public FindOptions collation​(Collation collation)
        Sets the collation to use
        Parameters:
        collation - the collation
        Returns:
        this
      • collection

        public FindOptions collection​(String collection)
        Description copied from interface: dev.morphia.internal.CollectionConfigurable
        Sets the alternate collection to use for the operation.
        Specified by:
        collection in interface dev.morphia.internal.CollectionConfigurable<FindOptions>
        Parameters:
        collection - the name of the collection to use
        Returns:
        this
      • collection

        public String collection()
        Description copied from interface: dev.morphia.internal.CollectionConfigurable
        Returns the alternate collection to use for the operation. Might return null.
        Specified by:
        collection in interface dev.morphia.internal.CollectionConfigurable<FindOptions>
        Returns:
        the collection name or null
      • comment

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

        public FindOptions comment​(BsonValue 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

        @MorphiaInternal
        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​(CursorType cursorType)
        Sets the cursor type
        Parameters:
        cursorType - the type
        Returns:
        this
      • cursorType

        @Nullable
        @MorphiaInternal
        public CursorType cursorType()
        Returns:
        the cursor type
        Since:
        2.3
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • getAllowDiskUse

        @Deprecated(forRemoval=true,
                    since="2.3")
        public Boolean getAllowDiskUse()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        true is disk use is allowed
      • getBatchSize

        @Deprecated(forRemoval=true,
                    since="2.3")
        public int getBatchSize()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        the batch size
      • getLimit

        @Deprecated(forRemoval=true,
                    since="2.3")
        public int getLimit()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        the limit
      • getMaxAwaitTime

        @Deprecated(forRemoval=true,
                    since="2.3")
        public long getMaxAwaitTime​(TimeUnit timeUnit)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Parameters:
        timeUnit - the time unit to apply
        Returns:
        the max await time for the operation
      • getMaxTime

        @Deprecated(forRemoval=true,
                    since="2.3")
        public long getMaxTime​(TimeUnit timeUnit)
        Deprecated, for removal: This API element is subject to removal in a future version.
        Parameters:
        timeUnit - the time unit to apply
        Returns:
        the max time for the operation
      • getProjection

        @Nullable
        @MorphiaInternal
        public Projection getProjection()
        Returns:
        the projection
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • getQueryLogId

        @MorphiaInternal
        @Deprecated(forRemoval=true,
                    since="2.3")
        public String getQueryLogId()
        Deprecated, for removal: This API element is subject to removal in a future version.
        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.
      • getSkip

        @Deprecated(forRemoval=true,
                    since="2.3")
        public int getSkip()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        the skip count
      • hashCode

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

        @Deprecated(forRemoval=true,
                    since="2.3")
        public boolean isNoCursorTimeout()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        is the cursor timeout enabled
      • hint

        public FindOptions hint​(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
      • hint

        @Deprecated(since="2.0",
                    forRemoval=true)
        public FindOptions hint​(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
      • hintString

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

        @MorphiaInternal
        public boolean isLogQuery()
        This is an internal 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.
      • isOplogReplay

        @Deprecated(forRemoval=true,
                    since="2.3")
        public boolean isOplogReplay()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        is oplog replay enabled
      • isPartial

        @Deprecated(forRemoval=true,
                    since="2.3")
        public boolean isPartial()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        are partial results enabled
      • isReturnKey

        @Deprecated(forRemoval=true,
                    since="2.3")
        public boolean isReturnKey()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        is return key only enabled
      • isShowRecordId

        @Deprecated(forRemoval=true,
                    since="2.3")
        public boolean isShowRecordId()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        is showing the record id enabled
      • let

        public FindOptions let​(Document variables)
        Add top-level variables to the operation. A null value means no variables are set.

        Allows for improved command readability by separating the variables from the query text.

        Parameters:
        variables - for find operation or null
        Returns:
        this
        Since:
        2.3
      • queryLogId

        @MorphiaInternal
        public String queryLogId()
        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.
      • 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
      • max

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

        @Deprecated(since="2.0",
                    forRemoval=true)
        public FindOptions max​(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
      • 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​(Document min)
        Sets the min index value
        Parameters:
        min - the min
        Returns:
        this
      • min

        @Deprecated(since="2.0",
                    forRemoval=true)
        public FindOptions min​(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
      • 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
      • readConcern

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

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

        public FindOptions readConcern​(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​(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
      • sort

        @Nullable
        @Deprecated(forRemoval=true,
                    since="2.3")
        @MorphiaInternal
        public Document sort()
        Deprecated, for removal: This API element is subject to removal in a future version.
        Returns:
        the sort criteria
        Developer note.
        This is an internal item. Its function and presence are subject to change without warning. Its use is highly discouraged.
      • 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​(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