首页 > 代码库 > Mongodb 操作

Mongodb 操作

node.js 中使用mongodb,首先 npm install mongodb 添加至 package.json。

首先编写个测试demo:

// mongodb 基本配置var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘localhost‘, 27017, {auto_reconnect:true});var db = new mongodb.Db(‘crawlerdb‘, server, {safe:true});// 开始mongodb操作db.open(function (err, db) {  if (err) return err;    console.log(‘connect!‘);})

连接成功显示 connect!

 

Mongodb 中文档是最基本的单位,如{name: ‘Tony‘, age: 20, gender: ‘male‘} 就是一个最基本单位。而文档中又可以嵌套其他文档。集合是许多文档的总和,一个数据库可以有多个集合,一个集合可以有多个文档。

 

Mongodb 中对 collection 操作有两种方法:1. db.collection(‘user‘, function(err, result){...}); 2. db.createCollection(‘user‘, function(err, result){...}); (user为集合名字)

其中这两种方法有个可选参数 {safe: true} 

db.collection(‘user‘, {safe: true}, function(err, result){...})  collection 不存在时将报错。

db.createCollection(‘user‘, {safe: true}, function(err, result){...})  collection 存在时报错。

示例如下:

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘localhost‘, 27017, {auto_reconnect:true});var db = new mongodb.Db(‘crawlerdb‘, server, {safe:true});db.open(function (err, db) {  if (err) return err;  console.log(‘connect!‘);  db.createCollection(‘user‘, function(err, result) {      })})

 

删除collection使用dropCollection();

db.dropCollection(‘user‘, function(err,result){    console.log(result);}); 

 

对collection进行增删改查操作:

向collection添加数据使用insert方法。

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘localhost‘, 27017, {auto_reconnect:true});var db = new mongodb.Db(‘crawlerdb‘, server, {safe:true});db.open(function (err, db) {  if (err) return err;  console.log(‘connect!‘);  db.collection(‘user‘, function(err, user) {    var item = {name: ‘Tony‘, age: 20, gender: ‘male‘};    user.insert(item, function (err, result) {      console.log(result);    })  })})

 

对数据进行更新用update方法。

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘localhost‘, 27017, {auto_reconnect:true});var db = new mongodb.Db(‘crawlerdb‘, server, {safe:true});db.open(function (err, db) {  if (err) return err;  console.log(‘connect!‘);  db.collection(‘user‘, function(err, user) {    user.update({name: ‘Tony‘}, {$set: {age: 22}}, function (err, result) {      console.log(result);    })  })})

 

对数据进行删除用remove方法。

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘localhost‘, 27017, {auto_reconnect:true});var db = new mongodb.Db(‘crawlerdb‘, server, {safe:true});db.open(function (err, db) {  if (err) return err;  console.log(‘connect!‘);  db.collection(‘user‘, function(err, user) {    user.remove({name: ‘Tony‘}, function (err, result) {      console.log(result);    })  })})

 

对数据进行查找用 find或者 findOne方法。

var mongodb = require(‘mongodb‘);var server = new mongodb.Server(‘localhost‘, 27017, {auto_reconnect:true});var db = new mongodb.Db(‘crawlerdb‘, server, {safe:true});db.open(function (err, db) {  if (err) return err;  console.log(‘connect!‘);  db.collection(‘user‘, function(err, user) {    var item1 = {name: ‘Tony‘, age: 21, gender: ‘male‘};    var item2 = {name: ‘Sue‘, age: 18, gender: ‘female‘};    user.insert([item1, item2], function (err, result) {      console.log(result);    });    user.find(function(err, docs) {      console.log(docs);    });    user.findOne(function(err, doc) {      console.log(doc);    });  });});

 

Mongodb 操作