1. 程式人生 > >nodejs操作mongodb資料庫(mongodb)

nodejs操作mongodb資料庫(mongodb)

準備

  1. 通過npm命令安裝mongodb
  2. 安裝mongodb資料庫,這裡不詳細介紹了,網上一堆

關於版本

CRUD操作

在此之前應對Mongodb資料庫有所瞭解,知道它的一些增刪查改命令。

1.增加

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

function insertData(db)
{
    var devices = db.collection('vip'
); var data = {"name":"node","age":22,"addr":"nb","addTime":new Date()}; devices.insert(data,function(error, result){ if(error) { console.log('Error:'+ error); }else{ console.log(result.result.n); } db.close(); }); } MongoClient.connect(DB_URL, function
(error, db){
console.log('連線成功!'); insertData(db); });

這裡寫圖片描述
2.查詢

var mongodb = require('mongodb')
var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/chm';  

var selectData = function(db, callback) {  
  //連線到表  
  var collection = db.collection('vip');
  //查詢資料
var whereStr = {"name":'node'}; collection.find(whereStr,function(error, cursor){ cursor.each(function(error,doc){ if(doc){ //console.log(doc); if (doc.addTime) { console.log("addTime: "+doc.addTime); } } }); }); } MongoClient.connect(DB_CONN_STR, function(err, db) { console.log("連線成功!"); selectData(db, function(result) { console.log(result); db.close(); }); });

3.更新

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error, db){
    console.log("連線成功!");
    updateData(db);
});

function updateData(db)
{
    var devices = db.collection('vip');
    var whereData = {"name":"node"}
    var updateDat = {$set: {"age":26}}; //如果不用$set,替換整條資料
    devices.update(whereData, updateDat, function(error, result){
        if (error) {
            console.log('Error:'+ error);
        }else{
            console.log(result);
        }
        db.close();
    });
}

4.刪除

var MongoClient = require('mongodb').MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error, db){
    console.log("連線成功");
    deleteData(db);
});

function deleteData(db)
{
    var devices = db.collection('vip');
    var data = {"name":"node"};
    devices.remove(data, function(error, result){
        if (error) {
            console.log('Error:'+ error);
        }else{
            console.log(result.result.n);
        }
        db.close();
    })
}

儲存過程

在mongodb中建立儲存過程

這裡寫圖片描述

所有儲存過程都存放在db.system.js中,通過db.eval(“儲存過程ID()”);呼叫儲存過程。

在程式碼中呼叫:

var MongoClient = require("mongodb").MongoClient;
var DB_URL = "mongodb://localhost:27017/chm";

MongoClient.connect(DB_URL, function(error,db){
    console.log("連線成功!");
    callProcess(db)
});

function callProcess(db)
{
    db.eval("get_vip_count()",function(error, result){
        if (error) {
            console.log(error);
        }else{
            console.log("count:"+result);
        }
        db.close();
    });
}

下篇介紹如何使用mongoose操作mongodb資料庫。