Node.js中使用mongoskin操作mongoDB实例

2020-06-17 06:20:56易采站长站整理

    };

    return mongoskin.db(str, option);
})();

(3)构建CRUD的基础类:为了减少重复CURD代码,只需要传入相关的JSON对象即可


var db = require(‘./mongo.js’),
    status = require(‘./status’),
    mongoskin = require(‘mongoskin’);

var CRUD = function(collection){
    this.collection = collection;
    db.bind(this.collection);
};

CRUD.prototype = {
    /*
    * @des: 创建一条记录
    * @model: 插入的记录,JSON格式的model
    * @callback:回调,返回插入成功的记录或者失败信息
    *
    * */
    create: function(model, callback){
        db[this.collection].save(model, function(err, item){
            if(err) {
                return callback(status.fail);
            }
            item.status = status.success.status;
            item.message = status.success.message;
            return callback(item);
        });
    },

    /*
    * @des:读取一条记录
    * @query:查询条件,Mongo查询的JSON字面量
    * @callback:回调,返回符合要求的记录或者失败信息
    *
    * */
    read: function(query, callback){
        db[this.collection].find(query).toArray(function(err, items){
            if(err){
                return callback(status.fail);
            }
            var obj = {
                status: status.success.status,
                message: status.success.message,
                items: items
            };

            return callback(obj);