本文共 3651 字,大约阅读时间需要 12 分钟。
首先要确保mongodb的正确安装,安装参照:
然后下载nodejs的mongodb的driver
npm install mongodb
编写一个测试的程序:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
console.log('connect');
}else{
console.log(err);
}
});
如果最终显示connect则说明成功。
对mongodb的collection的操作
有两种方法链接collection,分别为:
db.collection('mycoll',function(err,coll){});
db.createCollection('mycoll',function(err,coll){});
这两种方法还有第二个可选参数{safe:true},这个参数的作用对于第一种方法,如果加上了这个参数,那么当collection不存在的时候则报错,对于第二种方法,则当collection存在的时候报错
示例:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
console.log('connect');
db.collection('mycoll',{safe:true},function(err,collection){
if(err){
console.log(err);
}
});
}else{
console.log(err);
}
});
结果如图所示:
示例:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
console.log('connect');
db.createCollection('mycoll',{safe:true},function(err,collection){
if(err){
console.log(err);
}
});
}else{
console.log(err);
}
});
结果如图所示:
删除collection则使用dropCollection函数即可:
示例:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
console.log('connect');
db.dropCollection('mycoll',{safe:true},function(err,result){
console.log(result);
});
}else{
console.log(err);
}
结果如图所示:
对collection进行增删改查
向collection添加数据使用insert函数
示例:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
db.collection('mycoll',{safe:true},function(err,collection){
var tmp1 = {title:'hello',number:1};
collection.insert(tmp1,{safe:true},function(err,result){
console.log(result);
});
});
}else{
console.log(err);
}
});
结果如图:
对数据进行更新:
示例:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
db.collection('mycoll',{safe:true},function(err,collection){
collection.update({title:'hello'},{$set:{number:3}},{safe:true},function(err,result){
console.log(result);
});
}else{
console.log(err);
}
});
结果如图所示:
对数据进行删除使用remove函数
示例:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
db.collection('mycoll',{safe:true},function(err,collection){
collection.remove({title:'hello'},{safe:true},function(err,result){
console.log(result);
});
}else{
console.log(err);
}
});
结果如图:
如果remove没有任何的参数,则删除全部。
查找操作,查找操作有两个方法一个是find,一个是findOne
示例:
var mongodb = require('mongodb');
var server = new mongodb.Server('localhost',27017,{auto_reconnect:true});
var db = new mongodb.Db('mydb',server,{safe:true});
db.open(function(err,db){
if(!err)
{
db.collection('mycoll',{safe:true},function(err,collection){
var tmp1 = {title:'hello'};
var tmp2 = {title:'world'};
collection.insert([tmp1,tmp2],{safe:true},function(err,result){
console.log(result);
});
collection.find().toArray(function(err,docs){
console.log('find');
console.log(docs);
});
collection.findOne(function(err,doc){
console.log('findOne');
console.log(doc);
});
});
结果如图所示:
转载地址:http://tjrji.baihongyu.com/