准备
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();
});
}
