/** @property/Function collection Return a wrapped MongoDB [collection](mongodb.Collection) with inline [compression] (mingydb.Compressor) support. @argument/String host @optional @argument/Number port @optional @argument/String dbname @argument/String collectionName @callback */ function collection (host, port, dbname, collectionName, callback) { if (arguments.length == 3) { callback = dbname; collectionName = port; dbname = host; host = port = undefined; } else if (arguments.length == 4) { callback = collectionName; collectionName = dbname; dbname = port; port = undefined; } var dbsrv = new MongoDB.Server (host || '127.0.0.1', port || 27017); var rawDatabase = new MongoDB.mongoloid ( dbname, dbsrv, { w:0 } ); rawDatabase.open (function (err) { if (err) return callback (err); var compressor = new Compressor (dbname, collectionName); compressor.ready (function (err) { if (err) return callback (err); rawDatabase.collection (collectionName, function (err, rawCollection) { if (err) return callback (err); callback (undefined, new Collection (collectionName, rawCollection, compressor)); }); }); }); }
/** @property/Function getRawDatabase Return a wrapped database [instance](mingydb.Database) instance with inline [compression] (mingydb.Compressor) support. @argument/String host @optional @argument/Number port @optional @argument/String dbname @callback */ function getRawDatabase (host, port, dbname, callback) { if (arguments.length == 2) { dbname = host; callback = port; host = port = undefined; } else if (arguments.length == 3) { callback = dbname; dbname = port; port = undefined; } var dbsrv = new MongoDB.Server (host || '127.0.0.1', port || 27017); rawDatabase = new MongoDB.mongoloid ( dbname, dbsrv, { w:0 } ); rawDatabase.open (function (err) { if (err) return callback (err); rawDatabase.collection ('Mins', function (err, collection) { if (err) return callback (err); collection.ensureIndex ({ p:1, l:1 }, { unique:true }, function (err) { if (err) return callback (err); collection.ensureIndex ({ p:1, s:1 }, function (err) { if (err) return callback (err); callback (undefined, rawDatabase); }); }); }); }); }