node.js操作mongoDB數(shù)據(jù)庫(kù)示例分享
連接數(shù)據(jù)庫(kù)
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=new mongo.Server(host,port,{auto_reconnect:true});//創(chuàng)建數(shù)據(jù)庫(kù)所在的服務(wù)器服務(wù)器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象
db.open(function (err,db) {//連接數(shù)據(jù)庫(kù)
if(err)
throw err;
else{
console.log("成功建立數(shù)據(jù)庫(kù)連接");
db.close();
}
});
db.on("close", function (err,db) {//關(guān)閉數(shù)據(jù)庫(kù)
if(err) throw err;
else console.log("成功關(guān)閉數(shù)據(jù)庫(kù).");
});
插入數(shù)據(jù):
插入數(shù)據(jù)后,在控制臺(tái)中輸出數(shù)據(jù)文檔的內(nèi)容
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=new mongo.Server(host,port,{auto_reconnect:true});//創(chuàng)建數(shù)據(jù)庫(kù)所在的服務(wù)器服務(wù)器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象
db.open(function (err,db) {//連接數(shù)據(jù)庫(kù)
if(err)
throw err;
else{
db.collection("users", function (err,collection) {
collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {
console.log(docs);
db.close();
});
});
}
});
db.on("close", function (err,db) {//關(guān)閉數(shù)據(jù)庫(kù)
if(err) throw err;
else console.log("成功關(guān)閉數(shù)據(jù)庫(kù).");
});
關(guān)閉數(shù)據(jù)庫(kù)db.close([forceClose],[callback]);
forceClose為true時(shí),強(qiáng)制關(guān)閉該數(shù)據(jù)庫(kù),當(dāng)數(shù)據(jù)庫(kù)關(guān)閉后,不可再使用open開啟數(shù)據(jù)庫(kù).
forceClose為false時(shí),不強(qiáng)制關(guān)閉數(shù)據(jù)庫(kù),當(dāng)數(shù)據(jù)庫(kù)關(guān)閉后,可以再使用open打開.
當(dāng)foreClose為true時(shí):
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=new mongo.Server(host,port,{auto_reconnect:true});//創(chuàng)建數(shù)據(jù)庫(kù)所在的服務(wù)器服務(wù)器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象
db.open(function (err,db) {//連接數(shù)據(jù)庫(kù)
if(err)
throw err;
else{
db.collection("users", function (err,collection) {
collection.insert({username:"盼盼",firstname:"李"}, function (err,docs) {
console.log(docs);
db.close(false);
});
});
}
});
db.once("close", function (err,db) {//關(guān)閉數(shù)據(jù)庫(kù)
if(err) throw err;
else {
db.open(function (err,db) {
db.collection("users", function (err,collection) {
collection.insert({username:"三",firstname:"張"}, function (err,docs) {
if(err) throw err;
else{
console.log(docs);
db.close(true);
}
})
});
});
}
});
//讀取數(shù)據(jù)
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=mongo.Server(host,port,{auto_reconnect:true});
var db=new mongo.Db("node-mongo-examples",server,{safe:true});
db.open(function (err,db) {
db.collection("users", function (err,collection) {
if(err) throw err;
else{
collection.find({}).toArray(function(err,docs){
if(err) throw err;
else{
console.log(docs);
db.close();
}
});
}
});
});
//帶查詢條件的搜索
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=mongo.Server(host,port,{auto_reconnect:true});
var db=new mongo.Db("node-mongo-examples",server,{safe:true});
db.open(function (err,db) {
db.collection("users", function (err,collection) {
if(err) throw err;
else{
collection.find({username:{$in:["延思","三"]}}).toArray(function(err,docs){
if(err) throw err;
else{
console.log(docs);
db.close();
}
});
}
});
});
//插入一批數(shù)據(jù),并且進(jìn)行搜索type==food且price字段值小于10
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=mongo.Server(host,port,{auto_reconnect:true});
var db=new mongo.Db("node-mongo-examples",server,{safe:true});
var docs=[
{type:"food",price:11},
{type:"food",price:10},
{type:"food",price:9},
{type:"food",price:8},
{type:"book",price:9}
];
db.open(function (err,db) {
db.collection("goods", function (err,collection) {
if(err) throw err;
else{
collection.insert(docs, function (err,docs) {
if(err) throw err;
else{
collection.find({type:"food",price:{$lt:10}}).toArray(
function(err,docs){
if(err) throw err;
else{
console.log(docs);
db.close();
}
}
);
}
})
}
});
});
查詢中的或的表達(dá):
collection.find({$or:[
{type:"food"},
{price:{$lt:10}}
]})
有關(guān)node.js操作mongoDB數(shù)據(jù)庫(kù)的講解,今天就先到這里了,基本上常用的操作都有了示例,復(fù)雜些的,小伙伴們自由發(fā)揮吧,有機(jī)會(huì)我們?cè)賮?lái)繼續(xù)講解。
- Node.js操作MongoDB數(shù)據(jù)庫(kù)實(shí)例分析
- Node.js中使用mongoose操作mongodb數(shù)據(jù)庫(kù)的方法
- node.js連接MongoDB數(shù)據(jù)庫(kù)的2種方法教程
- Node.js對(duì)MongoDB數(shù)據(jù)庫(kù)實(shí)現(xiàn)模糊查詢的方法
- Node.js連接MongoDB數(shù)據(jù)庫(kù)產(chǎn)生的問題
- node.js連接mongoDB數(shù)據(jù)庫(kù) 快速搭建自己的web服務(wù)
- 了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫(kù)交互
- Node.js中Mongodb數(shù)據(jù)庫(kù)操作方法(最新推薦)
相關(guān)文章
詳解node如何讓一個(gè)端口同時(shí)支持https與http
眾所周知node是一個(gè)高性能的web服務(wù)器,使用它可以很簡(jiǎn)單的創(chuàng)建一個(gè)http或https的服務(wù)器。這篇文章主要介紹了詳解node如何讓一個(gè)端口同時(shí)支持https與http2017-07-07
node.js中的http.response.write方法使用說明
這篇文章主要介紹了node.js中的http.response.write方法使用說明,本文介紹了http.response.write的方法說明、語(yǔ)法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下2014-12-12
nodejs實(shí)現(xiàn)獲取當(dāng)前url地址及url各種參數(shù)值
這篇文章主要介紹了nodejs實(shí)現(xiàn)獲取當(dāng)前url地址及url各種參數(shù)值,本文直接給出代碼實(shí)例,需要的朋友可以參考下2015-06-06
koa2上傳文件及https配置實(shí)現(xiàn)教程
這篇文章主要為大家介紹了koa2上傳文件及https配置實(shí)現(xiàn)教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
npm dose not support Node.js v10.15
這篇文章主要給大家介紹了關(guān)npm dose not support Node.js v10.15.3的解決方法,文中通過圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-11-11
NodeJS實(shí)現(xiàn)一個(gè)聊天室功能
這篇文章主要介紹了NodeJS實(shí)現(xiàn)一個(gè)聊天室功能,本文實(shí)例截圖相結(jié)合給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-11-11
npm?install編譯時(shí)報(bào)"Cannot?read?properties?of?null?(r
這篇文章主要給大家介紹了關(guān)于npm?install編譯時(shí)報(bào)“Cannot?read?properties?of?null?(reading?‘pickAlgorithm‘)“錯(cuò)誤的解決辦法,文中將解決方法介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07

