Interface GridFSBucket


@ThreadSafe public interface GridFSBucket
Represents a GridFS Bucket
Since:
1.3
  • Method Details

    • getBucketName

      String getBucketName()
      The bucket name.
      Returns:
      the bucket name
    • getChunkSizeBytes

      int getChunkSizeBytes()
      Sets the chunk size in bytes. Defaults to 255.
      Returns:
      the chunk size in bytes.
    • getWriteConcern

      WriteConcern getWriteConcern()
      Get the write concern for the GridFSBucket.
      Returns:
      the WriteConcern
    • getReadPreference

      ReadPreference getReadPreference()
      Get the read preference for the GridFSBucket.
      Returns:
      the ReadPreference
    • getReadConcern

      ReadConcern getReadConcern()
      Get the read concern for the GridFSBucket.
      Returns:
      the ReadConcern
      MongoDB documentation
      Read Concern
      Since server release
      3.2
    • getTimeout

      @Alpha(CLIENT) @Nullable Long getTimeout(TimeUnit timeUnit)
      The time limit for the full execution of an operation.

      If not null the following deprecated options will be ignored: waitQueueTimeoutMS, socketTimeoutMS, wTimeoutMS, maxTimeMS and maxCommitTimeMS

      • null means that the timeout mechanism for operations will defer to using:
        • waitQueueTimeoutMS: The maximum wait time in milliseconds that a thread may wait for a connection to become available
        • socketTimeoutMS: How long a send or receive on a socket can take before timing out.
        • wTimeoutMS: How long the server will wait for the write concern to be fulfilled before timing out.
        • maxTimeMS: The cumulative time limit for processing operations on a cursor. See: cursor.maxTimeMS.
        • maxCommitTimeMS: The maximum amount of time to allow a single commitTransaction command to execute. See: TransactionOptions.getMaxCommitTime(java.util.concurrent.TimeUnit).
      • 0 means infinite timeout.
      • > 0 The time limit to use for the full execution of an operation.
      Parameters:
      timeUnit - the time unit
      Returns:
      the timeout in the given time unit
      Since:
      4.x
    • withChunkSizeBytes

      GridFSBucket withChunkSizeBytes(int chunkSizeBytes)
      Create a new GridFSBucket instance with a new chunk size in bytes.
      Parameters:
      chunkSizeBytes - the new chunk size in bytes.
      Returns:
      a new GridFSBucket instance with the different chunk size in bytes
    • withReadPreference

      GridFSBucket withReadPreference(ReadPreference readPreference)
      Create a new GridFSBucket instance with a different read preference.
      Parameters:
      readPreference - the new ReadPreference for the database
      Returns:
      a new GridFSBucket instance with the different readPreference
    • withWriteConcern

      GridFSBucket withWriteConcern(WriteConcern writeConcern)
      Create a new GridFSBucket instance with a different write concern.
      Parameters:
      writeConcern - the new WriteConcern for the database
      Returns:
      a new GridFSBucket instance with the different writeConcern
    • withReadConcern

      GridFSBucket withReadConcern(ReadConcern readConcern)
      Create a new MongoDatabase instance with a different read concern.
      Parameters:
      readConcern - the new ReadConcern for the database
      Returns:
      a new GridFSBucket instance with the different ReadConcern
      MongoDB documentation
      Read Concern
      Since server release
      3.2
    • withTimeout

      @Alpha(CLIENT) GridFSBucket withTimeout(long timeout, TimeUnit timeUnit)
      Create a new GridFSBucket instance with the set time limit for the full execution of an operation.
      • 0 means infinite timeout.
      • > 0 The time limit to use for the full execution of an operation.
      Parameters:
      timeout - the timeout, which must be greater than or equal to 0
      timeUnit - the time unit
      Returns:
      a new GridFSBucket instance with the set time limit for the full execution of an operation
      Since:
      4.x
      See Also:
    • uploadFromPublisher

      GridFSUploadPublisher<ObjectId> uploadFromPublisher(String filename, Publisher<ByteBuffer> source)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      filename - the filename
      source - the Publisher providing the file data
      Returns:
      a Publisher with a single element, the ObjectId of the uploaded file.
      Since:
      1.13
    • uploadFromPublisher

      GridFSUploadPublisher<ObjectId> uploadFromPublisher(String filename, Publisher<ByteBuffer> source, GridFSUploadOptions options)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      filename - the filename
      source - the Publisher providing the file data
      options - the GridFSUploadOptions
      Returns:
      a Publisher with a single element, the ObjectId of the uploaded file.
      Since:
      1.13
    • uploadFromPublisher

      GridFSUploadPublisher<Void> uploadFromPublisher(BsonValue id, String filename, Publisher<ByteBuffer> source)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      id - the custom id value of the file
      filename - the filename
      source - the Publisher providing the file data
      Returns:
      a Publisher with a single element, representing when the successful upload of the source.
      Since:
      1.13
    • uploadFromPublisher

      GridFSUploadPublisher<Void> uploadFromPublisher(BsonValue id, String filename, Publisher<ByteBuffer> source, GridFSUploadOptions options)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      id - the custom id value of the file
      filename - the filename
      source - the Publisher providing the file data
      options - the GridFSUploadOptions
      Returns:
      a Publisher with a single element, representing when the successful upload of the source.
      Since:
      1.13
    • uploadFromPublisher

      GridFSUploadPublisher<ObjectId> uploadFromPublisher(ClientSession clientSession, String filename, Publisher<ByteBuffer> source)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      clientSession - the client session with which to associate this operation
      filename - the filename
      source - the Publisher providing the file data
      Returns:
      a Publisher with a single element, the ObjectId of the uploaded file.
      Since:
      1.13
      Since server release
      3.6
    • uploadFromPublisher

      GridFSUploadPublisher<ObjectId> uploadFromPublisher(ClientSession clientSession, String filename, Publisher<ByteBuffer> source, GridFSUploadOptions options)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      clientSession - the client session with which to associate this operation
      filename - the filename
      source - the Publisher providing the file data
      options - the GridFSUploadOptions
      Returns:
      a Publisher with a single element, the ObjectId of the uploaded file.
      Since:
      1.13
      Since server release
      3.6
    • uploadFromPublisher

      GridFSUploadPublisher<Void> uploadFromPublisher(ClientSession clientSession, BsonValue id, String filename, Publisher<ByteBuffer> source)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      clientSession - the client session with which to associate this operation
      id - the custom id value of the file
      filename - the filename
      source - the Publisher providing the file data
      Returns:
      a Publisher with a single element, representing when the successful upload of the source.
      Since:
      1.13
      Since server release
      3.6
    • uploadFromPublisher

      GridFSUploadPublisher<Void> uploadFromPublisher(ClientSession clientSession, BsonValue id, String filename, Publisher<ByteBuffer> source, GridFSUploadOptions options)
      Uploads the contents of the given Publisher to a GridFS bucket.

      Reads the contents of the user file from the source and uploads it as chunks in the chunks collection. After all the chunks have been uploaded, it creates a files collection document for filename in the files collection.

      Parameters:
      clientSession - the client session with which to associate this operation
      id - the custom id value of the file
      filename - the filename
      source - the Publisher providing the file data
      options - the GridFSUploadOptions
      Returns:
      a Publisher with a single element, representing when the successful upload of the source.
      Since:
      1.13
      Since server release
      3.6
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(ObjectId id)
      Downloads the contents of the stored file specified by id into the Publisher.
      Parameters:
      id - the ObjectId of the file to be written to the destination Publisher
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(BsonValue id)
      Downloads the contents of the stored file specified by id into the Publisher.
      Parameters:
      id - the custom id of the file, to be written to the destination Publisher
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(String filename)
      Downloads the contents of the stored file specified by filename into the Publisher.
      Parameters:
      filename - the name of the file to be downloaded
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(String filename, GridFSDownloadOptions options)
      Downloads the contents of the stored file specified by filename and by the revision in options into the Publisher.
      Parameters:
      filename - the name of the file to be downloaded
      options - the download options
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(ClientSession clientSession, ObjectId id)
      Downloads the contents of the stored file specified by id into the Publisher.
      Parameters:
      clientSession - the client session with which to associate this operation
      id - the ObjectId of the file to be written to the destination Publisher
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
      Since server release
      3.6
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(ClientSession clientSession, BsonValue id)
      Downloads the contents of the stored file specified by id into the Publisher.
      Parameters:
      clientSession - the client session with which to associate this operation
      id - the custom id of the file, to be written to the destination Publisher
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
      Since server release
      3.6
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(ClientSession clientSession, String filename)
      Downloads the contents of the latest version of the stored file specified by filename into the Publisher.
      Parameters:
      clientSession - the client session with which to associate this operation
      filename - the name of the file to be downloaded
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
      Since server release
      3.6
    • downloadToPublisher

      GridFSDownloadPublisher downloadToPublisher(ClientSession clientSession, String filename, GridFSDownloadOptions options)
      Downloads the contents of the stored file specified by filename and by the revision in options into the Publisher.
      Parameters:
      clientSession - the client session with which to associate this operation
      filename - the name of the file to be downloaded
      options - the download options
      Returns:
      a Publisher with a single element, representing the amount of data written
      Since:
      1.13
      Since server release
      3.6
    • find

      Finds all documents in the files collection.
      Returns:
      the GridFS find iterable interface
      MongoDB documentation
      Find
    • find

      GridFSFindPublisher find(Bson filter)
      Finds all documents in the collection that match the filter.

      Below is an example of filtering against the filename and some nested metadata that can also be stored along with the file data:

        
            Filters.and(Filters.eq("filename", "mongodb.png"), Filters.eq("metadata.contentType", "image/png"));
        
        
      Parameters:
      filter - the query filter
      Returns:
      the GridFS find iterable interface
      See Also:
    • find

      GridFSFindPublisher find(ClientSession clientSession)
      Finds all documents in the files collection.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      the GridFS find iterable interface
      Since:
      1.7
      MongoDB documentation
      Find
      Since server release
      3.6
    • find

      GridFSFindPublisher find(ClientSession clientSession, Bson filter)
      Finds all documents in the collection that match the filter.

      Below is an example of filtering against the filename and some nested metadata that can also be stored along with the file data:

        
            Filters.and(Filters.eq("filename", "mongodb.png"), Filters.eq("metadata.contentType", "image/png"));
        
        
      Parameters:
      clientSession - the client session with which to associate this operation
      filter - the query filter
      Returns:
      the GridFS find iterable interface
      Since:
      1.7
      See Also:
      Since server release
      3.6
    • delete

      Publisher<Void> delete(ObjectId id)
      Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
      Parameters:
      id - the ObjectId of the file to be deleted
      Returns:
      a publisher with a single element, representing that the file has been deleted
    • delete

      Publisher<Void> delete(BsonValue id)
      Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
      Parameters:
      id - the ObjectId of the file to be deleted
      Returns:
      a publisher with a single element, representing that the file has been deleted
    • delete

      Publisher<Void> delete(ClientSession clientSession, ObjectId id)
      Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
      Parameters:
      clientSession - the client session with which to associate this operation
      id - the ObjectId of the file to be deleted
      Returns:
      a publisher with a single element, representing that the file has been deleted
      Since:
      1.7
      Since server release
      3.6
    • delete

      Publisher<Void> delete(ClientSession clientSession, BsonValue id)
      Given a id, delete this stored file's files collection document and associated chunks from a GridFS bucket.
      Parameters:
      clientSession - the client session with which to associate this operation
      id - the ObjectId of the file to be deleted
      Returns:
      a publisher with a single element, representing that the file has been deleted
      Since:
      1.7
      Since server release
      3.6
    • rename

      Publisher<Void> rename(ObjectId id, String newFilename)
      Renames the stored file with the specified id.
      Parameters:
      id - the id of the file in the files collection to rename
      newFilename - the new filename for the file
      Returns:
      a publisher with a single element, representing that the file has been renamed
    • rename

      Publisher<Void> rename(BsonValue id, String newFilename)
      Renames the stored file with the specified id.
      Parameters:
      id - the id of the file in the files collection to rename
      newFilename - the new filename for the file
      Returns:
      a publisher with a single element, representing that the file has been renamed
    • rename

      Publisher<Void> rename(ClientSession clientSession, ObjectId id, String newFilename)
      Renames the stored file with the specified id.
      Parameters:
      clientSession - the client session with which to associate this operation
      id - the id of the file in the files collection to rename
      newFilename - the new filename for the file
      Returns:
      a publisher with a single element, representing that the file has been renamed
      Since:
      1.7
      Since server release
      3.6
    • rename

      Publisher<Void> rename(ClientSession clientSession, BsonValue id, String newFilename)
      Renames the stored file with the specified id.
      Parameters:
      clientSession - the client session with which to associate this operation
      id - the id of the file in the files collection to rename
      newFilename - the new filename for the file
      Returns:
      a publisher with a single element, representing that the file has been renamed
      Since:
      1.7
      Since server release
      3.6
    • drop

      Publisher<Void> drop()
      Drops the data associated with this bucket from the database.
      Returns:
      a publisher with a single element, representing that the collections have been dropped
    • drop

      Publisher<Void> drop(ClientSession clientSession)
      Drops the data associated with this bucket from the database.
      Parameters:
      clientSession - the client session with which to associate this operation
      Returns:
      a publisher with a single element, representing that the collections have been dropped
      Since:
      1.7
      Since server release
      3.6