CRUD Functions

Create

You need a filename, an input stream and some kind of metadata.

Possible Metadata types:

  • Document
  • Map
  • Scala Case Class

Return Observable of ObjectId.

    ImageFilesDAO.insertOne(filename, stream, metadata)

Update

Official_MongoDB_Documentation

Do not use GridFS if you need to update the content of the entire file atomically. As an alternative you can store multiple versions of each file and specify the current version of the file in the metadata. You can update the metadata field that indicates “latest” status in an atomic update after uploading the new version of the file, and later remove previous versions if needed.Do not use GridFS if you need to update the content of the entire file atomically. As an alternative you can store multiple versions of each file and specify the current version of the file in the metadata. You can update the metadata field that indicates “latest” status in an atomic update after uploading the new version of the file, and later remove previous versions if needed.

Delete

GridFSFile will be deleted by a given ObjectID.

With implicit conversion you can use for OID Parameter:

  • ObjectID
  • GridFSFile
  • String
  // for implicit conversion usage
  import dev.mongocamp.driver.mongodb._
  
  ImageFilesDAO.deleteOne(oid)