Bucket
in package
Bucket provides a public API for interacting with the GridFS files and chunks collections.
Table of Contents
- $bucketName : string
- $chunkSizeBytes : int
- $collectionWrapper : CollectionWrapper
- $databaseName : string
- $defaultBucketName : string
- $defaultChunkSizeBytes : int
- $defaultTypeMap : array<string|int, mixed>
- $disableMD5 : bool
- $manager : Manager
- $readConcern : ReadConcern
- $readPreference : ReadPreference
- $streamWrapperProtocol : string
- $typeMap : array<string|int, mixed>
- $writeConcern : WriteConcern
- __construct() : mixed
- Constructs a GridFS bucket.
- __debugInfo() : array<string|int, mixed>
- Return internal properties for debugging purposes.
- delete() : mixed
- Delete a file from the GridFS bucket.
- downloadToStream() : mixed
- Writes the contents of a GridFS file to a writable stream.
- downloadToStreamByName() : mixed
- Writes the contents of a GridFS file, which is selected by name and revision, to a writable stream.
- drop() : mixed
- Drops the files and chunks collections associated with this GridFS bucket.
- find() : Cursor
- Finds documents from the GridFS bucket's files collection matching the query.
- findOne() : array<string|int, mixed>|object|null
- Finds a single document from the GridFS bucket's files collection matching the query.
- getBucketName() : string
- Return the bucket name.
- getChunksCollection() : Collection
- Return the chunks collection.
- getChunkSizeBytes() : int
- Return the chunk size in bytes.
- getDatabaseName() : string
- Return the database name.
- getFileDocumentForStream() : array<string|int, mixed>|object
- Gets the file document of the GridFS file associated with a stream.
- getFileIdForStream() : mixed
- Gets the file document's ID of the GridFS file associated with a stream.
- getFilesCollection() : Collection
- Return the files collection.
- getReadConcern() : ReadConcern
- Return the read concern for this GridFS bucket.
- getReadPreference() : ReadPreference
- Return the read preference for this GridFS bucket.
- getTypeMap() : array<string|int, mixed>
- Return the type map for this GridFS bucket.
- getWriteConcern() : WriteConcern
- Return the write concern for this GridFS bucket.
- openDownloadStream() : resource
- Opens a readable stream for reading a GridFS file.
- openDownloadStreamByName() : resource
- Opens a readable stream stream to read a GridFS file, which is selected by name and revision.
- openUploadStream() : resource
- Opens a writable stream for writing a GridFS file.
- rename() : mixed
- Renames the GridFS file with the specified ID.
- uploadFromStream() : mixed
- Writes the contents of a readable stream to a GridFS file.
- createPathForFile() : string
- Creates a path for an existing GridFS file.
- createPathForUpload() : string
- Creates a path for a new GridFS file, which does not yet have an ID.
- getFilesNamespace() : string
- Returns the names of the files collection.
- getRawFileDocumentForStream() : stdClass
- Gets the file document of the GridFS file associated with a stream.
- openDownloadStreamByFile() : resource
- Opens a readable stream for the GridFS file.
- registerStreamWrapper() : mixed
- Registers the GridFS stream wrapper if it is not already registered.
Properties
$bucketName
private
string
$bucketName
$chunkSizeBytes
private
int
$chunkSizeBytes
$collectionWrapper
private
CollectionWrapper
$collectionWrapper
$databaseName
private
string
$databaseName
$defaultBucketName
private
static string
$defaultBucketName
= 'fs'
$defaultChunkSizeBytes
private
static int
$defaultChunkSizeBytes
= 261120
$defaultTypeMap
private
static array<string|int, mixed>
$defaultTypeMap
= ['array' => \MongoDB\Model\BSONArray::class, 'document' => \MongoDB\Model\BSONDocument::class, 'root' => \MongoDB\Model\BSONDocument::class]
$disableMD5
private
bool
$disableMD5
$manager
private
Manager
$manager
$readConcern
private
ReadConcern
$readConcern
$readPreference
private
ReadPreference
$readPreference
$streamWrapperProtocol
private
static string
$streamWrapperProtocol
= 'gridfs'
$typeMap
private
array<string|int, mixed>
$typeMap
$writeConcern
private
WriteConcern
$writeConcern
Methods
__construct()
Constructs a GridFS bucket.
public
__construct(Manager $manager, string $databaseName[, array<string|int, mixed> $options = [] ]) : mixed
Supported options:
-
bucketName (string): The bucket name, which will be used as a prefix for the files and chunks collections. Defaults to "fs".
-
chunkSizeBytes (integer): The chunk size in bytes. Defaults to 261120 (i.e. 255 KiB).
-
disableMD5 (boolean): When true, no MD5 sum will be generated for each stored file. Defaults to "false".
-
readConcern (MongoDB\Driver\ReadConcern): Read concern.
-
readPreference (MongoDB\Driver\ReadPreference): Read preference.
-
typeMap (array): Default type map for cursors and BSON documents.
-
writeConcern (MongoDB\Driver\WriteConcern): Write concern.
Parameters
- $manager : Manager
-
Manager instance from the driver
- $databaseName : string
-
Database name
- $options : array<string|int, mixed> = []
-
Bucket options
Tags
Return values
mixed —__debugInfo()
Return internal properties for debugging purposes.
public
__debugInfo() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed> —delete()
Delete a file from the GridFS bucket.
public
delete(mixed $id) : mixed
If the files collection document is not found, this method will still attempt to delete orphaned chunks.
Parameters
- $id : mixed
-
File ID
Tags
Return values
mixed —downloadToStream()
Writes the contents of a GridFS file to a writable stream.
public
downloadToStream(mixed $id, resource $destination) : mixed
Parameters
- $id : mixed
-
File ID
- $destination : resource
-
Writable Stream
Tags
Return values
mixed —downloadToStreamByName()
Writes the contents of a GridFS file, which is selected by name and revision, to a writable stream.
public
downloadToStreamByName(string $filename, resource $destination[, array<string|int, mixed> $options = [] ]) : mixed
Supported options:
- revision (integer): Which revision (i.e. documents with the same filename and different uploadDate) of the file to retrieve. Defaults to -1 (i.e. the most recent revision).
Revision numbers are defined as follows:
- 0 = the original stored file
- 1 = the first revision
- 2 = the second revision
- etc…
- -2 = the second most recent revision
- -1 = the most recent revision
Parameters
- $filename : string
-
Filename
- $destination : resource
-
Writable Stream
- $options : array<string|int, mixed> = []
-
Download options
Tags
Return values
mixed —drop()
Drops the files and chunks collections associated with this GridFS bucket.
public
drop() : mixed
Tags
Return values
mixed —find()
Finds documents from the GridFS bucket's files collection matching the query.
public
find([array<string|int, mixed>|object $filter = [] ][, array<string|int, mixed> $options = [] ]) : Cursor
Parameters
- $filter : array<string|int, mixed>|object = []
-
Query by which to filter documents
- $options : array<string|int, mixed> = []
-
Additional options
Tags
Return values
Cursor —findOne()
Finds a single document from the GridFS bucket's files collection matching the query.
public
findOne([array<string|int, mixed>|object $filter = [] ][, array<string|int, mixed> $options = [] ]) : array<string|int, mixed>|object|null
Parameters
- $filter : array<string|int, mixed>|object = []
-
Query by which to filter documents
- $options : array<string|int, mixed> = []
-
Additional options
Tags
Return values
array<string|int, mixed>|object|null —getBucketName()
Return the bucket name.
public
getBucketName() : string
Return values
string —getChunksCollection()
Return the chunks collection.
public
getChunksCollection() : Collection
Return values
Collection —getChunkSizeBytes()
Return the chunk size in bytes.
public
getChunkSizeBytes() : int
Return values
int —getDatabaseName()
Return the database name.
public
getDatabaseName() : string
Return values
string —getFileDocumentForStream()
Gets the file document of the GridFS file associated with a stream.
public
getFileDocumentForStream(resource $stream) : array<string|int, mixed>|object
Parameters
- $stream : resource
-
GridFS stream
Tags
Return values
array<string|int, mixed>|object —getFileIdForStream()
Gets the file document's ID of the GridFS file associated with a stream.
public
getFileIdForStream(resource $stream) : mixed
Parameters
- $stream : resource
-
GridFS stream
Tags
Return values
mixed —getFilesCollection()
Return the files collection.
public
getFilesCollection() : Collection
Return values
Collection —getReadConcern()
Return the read concern for this GridFS bucket.
public
getReadConcern() : ReadConcern
Tags
Return values
ReadConcern —getReadPreference()
Return the read preference for this GridFS bucket.
public
getReadPreference() : ReadPreference
Return values
ReadPreference —getTypeMap()
Return the type map for this GridFS bucket.
public
getTypeMap() : array<string|int, mixed>
Return values
array<string|int, mixed> —getWriteConcern()
Return the write concern for this GridFS bucket.
public
getWriteConcern() : WriteConcern
Tags
Return values
WriteConcern —openDownloadStream()
Opens a readable stream for reading a GridFS file.
public
openDownloadStream(mixed $id) : resource
Parameters
- $id : mixed
-
File ID
Tags
Return values
resource —openDownloadStreamByName()
Opens a readable stream stream to read a GridFS file, which is selected by name and revision.
public
openDownloadStreamByName(string $filename[, array<string|int, mixed> $options = [] ]) : resource
Supported options:
- revision (integer): Which revision (i.e. documents with the same filename and different uploadDate) of the file to retrieve. Defaults to -1 (i.e. the most recent revision).
Revision numbers are defined as follows:
- 0 = the original stored file
- 1 = the first revision
- 2 = the second revision
- etc…
- -2 = the second most recent revision
- -1 = the most recent revision
Parameters
- $filename : string
-
Filename
- $options : array<string|int, mixed> = []
-
Download options
Tags
Return values
resource —openUploadStream()
Opens a writable stream for writing a GridFS file.
public
openUploadStream(string $filename[, array<string|int, mixed> $options = [] ]) : resource
Supported options:
-
_id (mixed): File document identifier. Defaults to a new ObjectId.
-
chunkSizeBytes (integer): The chunk size in bytes. Defaults to the bucket's chunk size.
-
disableMD5 (boolean): When true, no MD5 sum will be generated for the stored file. Defaults to "false".
-
metadata (document): User data for the "metadata" field of the files collection document.
Parameters
- $filename : string
-
Filename
- $options : array<string|int, mixed> = []
-
Upload options
Return values
resource —rename()
Renames the GridFS file with the specified ID.
public
rename(mixed $id, string $newFilename) : mixed
Parameters
- $id : mixed
-
File ID
- $newFilename : string
-
New filename
Tags
Return values
mixed —uploadFromStream()
Writes the contents of a readable stream to a GridFS file.
public
uploadFromStream(string $filename, resource $source[, array<string|int, mixed> $options = [] ]) : mixed
Supported options:
-
_id (mixed): File document identifier. Defaults to a new ObjectId.
-
chunkSizeBytes (integer): The chunk size in bytes. Defaults to the bucket's chunk size.
-
disableMD5 (boolean): When true, no MD5 sum will be generated for the stored file. Defaults to "false".
-
metadata (document): User data for the "metadata" field of the files collection document.
Parameters
- $filename : string
-
Filename
- $source : resource
-
Readable stream
- $options : array<string|int, mixed> = []
-
Stream options
Tags
Return values
mixed —ID of the newly created GridFS file
createPathForFile()
Creates a path for an existing GridFS file.
private
createPathForFile(stdClass $file) : string
Parameters
- $file : stdClass
-
GridFS file document
Return values
string —createPathForUpload()
Creates a path for a new GridFS file, which does not yet have an ID.
private
createPathForUpload() : string
Return values
string —getFilesNamespace()
Returns the names of the files collection.
private
getFilesNamespace() : string
Return values
string —getRawFileDocumentForStream()
Gets the file document of the GridFS file associated with a stream.
private
getRawFileDocumentForStream(resource $stream) : stdClass
This returns the raw document from the StreamWrapper, which does not respect the Bucket's type map.
Parameters
- $stream : resource
-
GridFS stream
Tags
Return values
stdClass —openDownloadStreamByFile()
Opens a readable stream for the GridFS file.
private
openDownloadStreamByFile(stdClass $file) : resource
Parameters
- $file : stdClass
-
GridFS file document
Return values
resource —registerStreamWrapper()
Registers the GridFS stream wrapper if it is not already registered.
private
registerStreamWrapper() : mixed