zoukankan      html  css  js  c++  java
  • JS封装 MongoDB

    const MongoClient = require('mongodb').MongoClient;
    const ObjectId = require('mongodb').ObjectId;
    const url = "mongodb://localhost:27017";

    const dbName = 'Javascript语言精粹';
    let obj = {};

    // 连接封装
    function _connect(callback){
        MongoClient.connect(url, function(err, client){
            if(err) throw err;
            callback(client);
            client.close();
        })
    }

    // 创建数据库集合
    obj.create = function(colName, fn){
        _connect(function(client){
            client.db(dbName).createCollection(colName, function(err, res){
                fn(err, res);
            })
        })
    }

    // 插入
    obj.insert = function(colName, dataArr, fn){
        _connect(function(client){
            const col = client.db(dbName).collection(colName);
            col.insert(dataArr, function(err, res){
                fn(err, res);
            })
        });
    }

    // 添加
    obj.save = function(colName, data, fn){
        _connect(function(client){
            const col = client.db(dbName).collection(colName);
            col.save(data, function(err, res){
                fn(err, res);
            });
        })
    }

    // 删除
    obj.remove = function(colName, filter, fn){
        _connect(function(client){
            const col = client.db(dbName).collection(colName);
            col.remove(filter, function(err, res){
                fn(err, res)
            })
        })
    }

    // 更新
    obj.update = function(colName, filterNum, update, fn){
        _connect(function(client){
            const col = client.db(dbName).collection(colName);
            col.update({"_id" : ObjectId(filterNum)}, {$set:update}, function(err, res){
                fn(err, res);
            })
        })
    }

    // 查找
    obj.find = function(colName, filter, fn){
        _connect(function(client){
            const col = client.db(dbName).collection(colName);
            col.find(filter).toArray(function(err, res){
                fn(err, res);
            })
        })
    }

    // 创建索引
    obj.index = function(colName){
        _connect(function(client){
            const col = client.db(dbName).collection(colName);
            col.createIndex({"anystr":"2dsphere"}, function(err, res){
                fn(err, res);
            })
        })
    }


    // obj.find('artical', {}, function(err, res){
    //     if(err) throw err;
    //     console.log(res);
    // })

    module.exports = obj;
  • 相关阅读:
    Collections类
    delphi Tdxribbon 设置背景和skin 皮肤
    模拟一个带背景的 TPanel
    将控件画成圆角的效果(Delphi)
    Delphi自写组件:可设置颜色的按钮
    delphi StringGrid 表格的复制粘贴
    学习人工智能
    python 环境搭建和Spyder的安装应用
    python 廖雪峰的官方网站
    spyder 安装
  • 原文地址:https://www.cnblogs.com/SharkJiao/p/13921384.html
Copyright © 2011-2022 走看看