Node.js連接mongodb實例代碼
前面介紹了node.js操作mysql以及redis的內(nèi)容,這里繼續(xù)學習操作mongodb的內(nèi)容。
安裝驅(qū)動
安裝命令
cnpm install mongodb
安裝成功

數(shù)據(jù)庫操作
因為mongodb是文檔類型的數(shù)據(jù)庫,與mysql有很大不同,mongodb會自動創(chuàng)建數(shù)據(jù)庫和集合,并不需要提前進行手動創(chuàng)建。
Insert
var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
var insertData = function (db, callback) {
//連接數(shù)據(jù)表my_firsrt_collection
var collection = db.collection("my_firsrt_collection");
var data = [{ "name": "wolfy1", "age": 20 }, { "name": "wolfy2", "age": 20 }]
collection.insert(data, function (err, result) {
if (err) {
console.log("error:" + err);
return;
};
callback(result);
});
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("連接失?。? + err);
return;
};
console.log("連接成功");
insertData(db,function(result){
console.log(result);
db.close();
});
});
結(jié)果


查詢數(shù)據(jù)
var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//查詢 var queryData = function (db, callback) { //連接數(shù)據(jù)表my_firsrt_collection
var collection = db.collection("my_firsrt_collection"); //查詢條件 var where = { "name": "wolfy1" };
collection.find(where).toArray(function (err, result) { if (err) { console.log("error:" + err); return; };
callback(result); }); };
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("連接失?。? + err);
return;
};
console.log("連接成功");
queryData(db, function (result) { console.log(result); db.close(); }); });
結(jié)果

更新數(shù)據(jù)
var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//查詢
var updateData = function (db, callback) {
//連接數(shù)據(jù)表my_firsrt_collection
var collection = db.collection("my_firsrt_collection");
//查詢條件
var where = { "name": "wolfy1" };
var updateStr={$set:{"address":"http://www.cnblogs.com/wolf-sun/"}};
collection.update(where,updateStr,function (err, result) {
if (err) {
console.log("error:" + err);
return;
};
callback(result);
});
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("連接失敗:" + err);
return;
};
console.log("連接成功");
updateData(db, function (result) {
console.log(result);
db.close();
});
});
結(jié)果

刪除數(shù)據(jù)
var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//刪除
var deleteData = function (db, callback) {
//連接數(shù)據(jù)表my_firsrt_collection
var collection = db.collection("my_firsrt_collection");
//查詢條件
var where = { "name": "wolfy1" };
collection.remove(where, function (err, result) {
if (err) {
console.log("error:" + err);
return;
};
callback(result);
});
};
MongoClient.connect(DB_CONN_STR, function (err, db) {
if (err) {
console.log("連接失?。? + err);
return;
};
console.log("連接成功");
deleteData(db, function (result) {
console.log(result);
db.close();
});
});
結(jié)果

總結(jié)
到這里就簡單實現(xiàn)了node.js操作mongodb的實例。希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vscode調(diào)試node.js的實現(xiàn)方法
這篇文章主要介紹了vscode調(diào)試node.js的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-03-03
基于Express實現(xiàn)遞歸遍歷文件和CRUD操作
在現(xiàn)代的?Web?應用開發(fā)中,文件管理是一個常見而重要的需求,所以本文就來講講如何利用?Express?框架,在遞歸遍歷文件之后實現(xiàn)強大的?CRUD?操作,構(gòu)建一個功能完善的文件管理系統(tǒng),感興趣的可以了解一下2023-06-06
node.js用fs.rename強制重命名或移動文件夾的方法
本篇文章主要介紹了node.js用fs.rename強制重命名或移動文件夾的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-12-12
Express URL跳轉(zhuǎn)(重定向)的實現(xiàn)方法
Express是一個基于Node.js實現(xiàn)的Web框架,其響應HTTP請求的response對象中有兩個用于URL跳轉(zhuǎn)方法res.location()和res.redirect(),使用它們可以實現(xiàn)URL的301或302重定向。2017-04-04

