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

數(shù)據(jù)庫(kù)操作
因?yàn)閙ongodb是文檔類(lèi)型的數(shù)據(jù)庫(kù),與mysql有很大不同,mongodb會(huì)自動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)和集合,并不需要提前進(jìn)行手動(dòng)創(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é)果


查詢(xún)數(shù)據(jù)
var MongoClient = require("mongodb").MongoClient;
var DB_CONN_STR = "mongodb://sa:sa@localhost:27017/test_db";
//查詢(xún) var queryData = function (db, callback) { //連接數(shù)據(jù)表my_firsrt_collection
var collection = db.collection("my_firsrt_collection"); //查詢(xún)條件 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";
//查詢(xún)
var updateData = function (db, callback) {
//連接數(shù)據(jù)表my_firsrt_collection
var collection = db.collection("my_firsrt_collection");
//查詢(xún)條件
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");
//查詢(xún)條件
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é)
到這里就簡(jiǎn)單實(shí)現(xiàn)了node.js操作mongodb的實(shí)例。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Node之簡(jiǎn)單的前后端交互(實(shí)例講解)
下面小編就為大家?guī)?lái)一篇Node之簡(jiǎn)單的前后端交互(實(shí)例講解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-11
nodejs中實(shí)現(xiàn)sleep功能實(shí)例
這篇文章主要介紹了nodejs中實(shí)現(xiàn)sleep功能實(shí)例,本文講解了sleep功能的開(kāi)發(fā)過(guò)程和使用效果及性能測(cè)試,需要的朋友可以參考下2015-03-03
Node.js學(xué)習(xí)之查詢(xún)字符串解析querystring詳解
這篇文章主要給大家介紹了關(guān)于Node.js查詢(xún)字符串解析querystring的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-09-09
Node.js重新刷新session過(guò)期時(shí)間的方法
在Node.js中,我們通常使用express-session這個(gè)包來(lái)使用和管理session,保存服務(wù)端和客戶(hù)端瀏覽器之間的會(huì)話(huà)狀態(tài)。那如何才能實(shí)現(xiàn)當(dāng)用戶(hù)刷新當(dāng)前頁(yè)面或者點(diǎn)擊頁(yè)面上的按鈕時(shí)重新刷新session的過(guò)期時(shí)間呢,接下來(lái)通過(guò)本文一起學(xué)習(xí)吧2016-02-02
nodejs轉(zhuǎn)換音頻文件格式并壓縮導(dǎo)出zip格式(vscode語(yǔ)音插件開(kāi)發(fā))
FFmpeg是一套開(kāi)源的音視頻處理工具,通俗地講,可以對(duì)音視頻文件進(jìn)行剪切、拼接、水印、轉(zhuǎn)碼等處理,這篇文章主要介紹了nodejs轉(zhuǎn)換音頻文件格式并壓縮導(dǎo)出zip格式(vscode語(yǔ)音插件開(kāi)發(fā)),需要的朋友可以參考下2023-05-05
Nodejs讀取文件時(shí)相對(duì)路徑的正確寫(xiě)法(使用fs模塊)
本篇文章主要介紹了linux 環(huán)境 mysql寫(xiě)入中文報(bào)錯(cuò)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-04-04
使用Node.js實(shí)現(xiàn)一個(gè)多人游戲服務(wù)器引擎
這篇文章主要給大家介紹了關(guān)于如何使用Node.js實(shí)現(xiàn)一個(gè)多人游戲服務(wù)器引擎的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用Node.js具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03

