zoukankan      html  css  js  c++  java
  • [Node.js]连接mongodb

    摘要

    前面介绍了node.js操作mysql以及redis的内容,这里继续学习操作mongodb的内容。

    安装驱动

    安装命令

    cnpm install mongodb

    安装成功

    数据库操作

     因为mongodb是文档类型的数据库,与mysql有很大不同,mongodb会自动创建数据库和集合,并不需要提前进行手动创建。

    Insert

    var MongoClient = require("mongodb").MongoClient;
    var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
    var insertData = function (db, callback) {
        //连接数据表my_firsrt_collection
        var collection = db.collection("my_firsrt_collection");
        var data = [{ "name": "wolfy1", "age": 20 }, { "name": "wolfy2", "age": 20 }]
        collection.insert(data, function (err, result) {
            if (err) {
                console.log("error:" + err);
                return;
            };
            callback(result);
        });
    };
      MongoClient.connect(DB_CONN_STR, function (err, db) {
            if (err) {
                console.log("连接失败:" + err);
                return;
            };
            console.log("连接成功");
            insertData(db,function(result){
                console.log(result);
                db.close();
            });
        });

    结果

    查询数据

    var MongoClient = require("mongodb").MongoClient;
    var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
    //查询 var queryData = function (db, callback) { //连接数据表my_firsrt_collection
    var collection = db.collection("my_firsrt_collection"); //查询条件 var where = { "name": "wolfy1" };
    collection.find(where).toArray(
    function (err, result) { if (err) { console.log("error:" + err); return; };
    callback(result); }); };
    MongoClient.connect(DB_CONN_STR,
    function (err, db) {
    if (err) {
    console.log(
    "连接失败:" + err);
    return;
    };
    console.log(
    "连接成功");
    queryData(db,
    function (result) { console.log(result); db.close(); }); });

    结果

    更新数据

    var MongoClient = require("mongodb").MongoClient;
    var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
    //查询
    var updateData = function (db, callback) {
        //连接数据表my_firsrt_collection
        var collection = db.collection("my_firsrt_collection");
        //查询条件
        var where = { "name": "wolfy1" };
        var updateStr={$set:{"address":"http://www.cnblogs.com/wolf-sun/"}};
        collection.update(where,updateStr,function (err, result) {
            if (err) {
                console.log("error:" + err);
                return;
            };
            callback(result);
        });
    };
    MongoClient.connect(DB_CONN_STR, function (err, db) {
        if (err) {
            console.log("连接失败:" + err);
            return;
        };
        console.log("连接成功");
        updateData(db, function (result) {
            console.log(result);
            db.close();
        });
    });

    结果

    删除数据

    var MongoClient = require("mongodb").MongoClient;
    var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
    //删除
    var deleteData = function (db, callback) {
        //连接数据表my_firsrt_collection
        var collection = db.collection("my_firsrt_collection");
        //查询条件
        var where = { "name": "wolfy1" };
        collection.remove(where, function (err, result) {
            if (err) {
                console.log("error:" + err);
                return;
            };
            callback(result);
        });
    };
    MongoClient.connect(DB_CONN_STR, function (err, db) {
        if (err) {
            console.log("连接失败:" + err);
            return;
        };
        console.log("连接成功");
        deleteData(db, function (result) {
            console.log(result);
            db.close();
        });
    });

    结果

    总结

    到这里就简单实现了node.js操作mongodb的实例。

  • 相关阅读:
    如何去除ecshop标题和网站底部的Powered by ECShop
    ecshop标签
    安装Wamp后 Apache无法启动的解决方法
    wamp5中的apache不能启动,80端口被占用
    iOS UI-AlertView(警示框)和ActionSheet(选择框、操作表单)
    iOS UI-三种简单的动画设置
    iOS UI-IOS开发中Xcode的一些使用技巧
    iOS UI-九宫格
    iOS开发-开发文档安装
    iOS UI-创建空项目
  • 原文地址:https://www.cnblogs.com/wolf-sun/p/6943965.html
Copyright © 2011-2022 走看看