連接資料庫
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=new mongo.Server(host,port,{auto_reconnect:true});//建立資料庫所在的伺服器伺服器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//建立資料庫物件
db.open(function (err,db) {//連接資料庫
if(err)
throw err;
else{
console.log("成功建立資料庫連線");
db.close();
}
});
db.on("close", function (err,db) {//關閉資料庫
if(err) throw err;
else console.log("成功關閉資料庫.");
});
插入資料:
插入資料後,在控制台中輸出資料文檔的內容
var mongo=require("mongodb");
var host="localhost";
var port=mongo.Connection.DEFAULT_PORT;
var server=new mongo.Server(host,port,{auto_reconnect:true});//建立資料庫所在的伺服器伺服器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//建立資料庫物件
db.open(function (err,db) {//連接資料庫
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) {//關閉資料庫
if(err) throw err;
else console.log("成功關閉資料庫.");
});
關閉資料庫db.close([forceClose],[callback]);
forceClose為true時,強制關閉該資料庫,當資料庫關閉後,不可再使用open開啟資料庫.
forceClose為false時,不強制關閉資料庫,當資料庫關閉後,可以再使用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});//建立資料庫所在的伺服器伺服器
var db=new mongo.Db("node-mongo-examples",server,{safe:true});//建立資料庫物件
db.open(function (err,db) {//連接資料庫
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) {//關閉資料庫
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);
}
})
});
});
}
});
//讀取資料
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();
}
});
}
});
});
//插入一批資料,並且進行搜尋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{
中.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資料庫的講解,今天就先到這裡了,基本上常用的操作都有了示例,複雜些的,小伙伴們自由發揮吧,有機會我們再來繼續講解。