node.js操作mongoDB數(shù)據(jù)庫示例分享
連接數(shù)據(jù)庫
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ù)庫所在的服務器服務器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//創(chuàng)建數(shù)據(jù)庫對象
db.open(function (err,db) {//連接數(shù)據(jù)庫
if(err)
throw err;
else{
console.log("成功建立數(shù)據(jù)庫連接");
db.close();
}
});
db.on("close", function (err,db) {//關閉數(shù)據(jù)庫
if(err) throw err;
else console.log("成功關閉數(shù)據(jù)庫.");
});
插入數(shù)據(jù):
插入數(shù)據(jù)后,在控制臺中輸出數(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ù)庫所在的服務器服務器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//創(chuàng)建數(shù)據(jù)庫對象
db.open(function (err,db) {//連接數(shù)據(jù)庫
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) {//關閉數(shù)據(jù)庫
if(err) throw err;
else console.log("成功關閉數(shù)據(jù)庫.");
});
關閉數(shù)據(jù)庫db.close([forceClose],[callback]);
forceClose為true時,強制關閉該數(shù)據(jù)庫,當數(shù)據(jù)庫關閉后,不可再使用open開啟數(shù)據(jù)庫.
forceClose為false時,不強制關閉數(shù)據(jù)庫,當數(shù)據(jù)庫關閉后,可以再使用open打開.
當foreClose為true時:
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ù)庫所在的服務器服務器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//創(chuàng)建數(shù)據(jù)庫對象
db.open(function (err,db) {//連接數(shù)據(jù)庫
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) {//關閉數(shù)據(jù)庫
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ù),并且進行搜索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();
}
}
);
}
})
}
});
});
查詢中的或的表達:
collection.find({$or:[
{type:"food"},
{price:{$lt:10}}
]})
有關node.js操作mongoDB數(shù)據(jù)庫的講解,今天就先到這里了,基本上常用的操作都有了示例,復雜些的,小伙伴們自由發(fā)揮吧,有機會我們再來繼續(xù)講解。
- node.js連接mongoDB數(shù)據(jù)庫 快速搭建自己的web服務
- Node.js對MongoDB數(shù)據(jù)庫實現(xiàn)模糊查詢的方法
- 了不起的node.js讀書筆記之mongodb數(shù)據(jù)庫交互
- node.js連接MongoDB數(shù)據(jù)庫的2種方法教程
- Node.js連接MongoDB數(shù)據(jù)庫產(chǎn)生的問題
- Node.js中使用mongoose操作mongodb數(shù)據(jù)庫的方法
- 利用Vue.js+Node.js+MongoDB實現(xiàn)一個博客系統(tǒng)(附源碼)
- 利用node.js+mongodb如何搭建一個簡單登錄注冊的功能詳解
- 詳解Wondows下Node.js使用MongoDB的環(huán)境配置
- Node.js操作MongoDB數(shù)據(jù)庫實例分析
相關文章
NodeJS、NPM安裝配置步驟(windows版本) 以及環(huán)境變量詳解
本篇文章主要介紹了NodeJS、NPM安裝配置步驟(windows版本) 以及環(huán)境變量詳解,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05Node.JS利用PhantomJs抓取網(wǎng)頁入門教程
現(xiàn)今,網(wǎng)頁抓取已經(jīng)是一種人所共知的技術了,然而依然存在著諸多復雜性,下面這篇文章主要給大家介紹了Node.JS利用PhantomJs抓取網(wǎng)頁的方法教程,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05如何在Nestjs和Vue3中使用socket.io示例詳解
這篇文章主要為大家介紹了如何在Nestjs和Vue3中使用socket.io示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-08-08