Example #1
0
/**     @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));
            });
        });
    });
}
Example #2
0
/**     @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);
                });
            });
        });
    });
}