준비
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(); }); }
저장 프로시저
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(); }) }
모든 저장 프로시저는 db.eval("stored Procedure ID( )"를 통해 db.system.js에 저장됩니다. );저장 프로시저를 호출합니다.
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(); }); }