﻿var _ = require("lodash");
var async = require("async");
var config = require("config");
var mongoose = require("mongoose");

/**
 * 连接数据库。
 * @param  {Function} p_callback 回调函数。
 */
exports.connect = function (p_callback)
{
    mongoose.connect(
        config.db,
        {
            server: {
                auto_reconnect: config.auto_reconnect,
                poolSize: config.poolSize
            },
        },
        p_callback
    );
};

/**
 * 检查数据库是否已连接。
 */
 exports.connected = function ()
{
    return mongoose.connection.db != null;
};

/**
 * 删除所有集合。
 * @param  {Function} p_callback 回调函数。
 */
 exports.dropAllCollections = function (p_callback)
{
    async.each(mongoose.connection.collections, function (collection, done)
    {
        collection.drop(done);
    },
    function (err)
    {
        if (_.isFunction(p_callback))
        {
            if (!err || err.message == "ns not found")
            {
                p_callback()
            }
            else
            {
                p_callback(err);
            }
        }
    });
};

@@ -136,33 +136,32 @@
 %E6%8E%A5%E6%95%B0%E6%8D%AE%E5%BA%93%E3%80%82%0A * @param 
- 
 %7BFunction%7D p_cal
@@ -145,34 +145,40 @@
 @param %7BFunction
+(err)
 %7D 
+%5B
 p_callback %E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%E3%80%82
@@ -167,30 +167,25 @@
  %5Bp_callback
- %E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%E3%80%82
+%5D
 %0A */%0Aexports
@@ -575,17 +575,16 @@
  @param 
- 
 %7BFunctio
@@ -584,18 +584,24 @@
 Function
+(err)
 %7D 
+%5B
 p_callba
@@ -606,14 +606,9 @@
 back
- %E5%9B%9E%E8%B0%83%E5%87%BD%E6%95%B0%E3%80%82
+%5D
 %0A */

update comments