GridFS class
class GridFS { static int DEFAULT_CHUNKSIZE = 256 * 1024; static int MAX_CHUNKSIZE = (3.5 * 1000 * 1000).toInt(); Db database; DbCollection files; DbCollection chunks; String bucketName; GridFS(Db this.database, [String collection="fs"]) { this.files = database.collection("$collection.files"); this.chunks = database.collection("$collection.chunks"); bucketName = collection; // TODO(tsander): Ensure index. } Cursor getFileList(SelectorBuilder selectorBuilder) { return files.find(selectorBuilder.sortBy("filename", descending:true)); } Future<GridOut> findOne(dynamic selector) { Completer completer = new Completer(); files.findOne(selector).then((Map file) { GridOut result = null; if (file != null) { result = new GridOut(file); result.setGridFS(this); } completer.complete(result); }); return completer.future; } Future<GridOut> getFile(String fileName) => findOne(where.eq('filename',fileName)); GridIn createFile(Stream<List<int>> input, String filename) { return new GridIn(this, filename, input); } }
Static Properties
Constructors
new GridFS(Db database, [String collection = "fs"]) #
Creates a new Object instance.
Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.
docs inherited from Object
GridFS(Db this.database, [String collection="fs"]) { this.files = database.collection("$collection.files"); this.chunks = database.collection("$collection.chunks"); bucketName = collection; // TODO(tsander): Ensure index. }
Methods
GridIn createFile(Stream<List<int>> input, String filename) #
GridIn createFile(Stream<List<int>> input, String filename) { return new GridIn(this, filename, input); }
Future<GridOut> findOne(selector) #
Future<GridOut> findOne(dynamic selector) { Completer completer = new Completer(); files.findOne(selector).then((Map file) { GridOut result = null; if (file != null) { result = new GridOut(file); result.setGridFS(this); } completer.complete(result); }); return completer.future; }
Future<GridOut> getFile(String fileName) #
Future<GridOut> getFile(String fileName) => findOne(where.eq('filename',fileName));
Cursor getFileList(SelectorBuilder selectorBuilder) #
Cursor getFileList(SelectorBuilder selectorBuilder) { return files.find(selectorBuilder.sortBy("filename", descending:true)); }