1. 程式人生 > >node之MongoDB簡單應用

node之MongoDB簡單應用

初始

1、下載mongodb的安裝包,https://www.mongodb.com/download-center/community
2、安裝
3、安裝完成後在data資料夾下新建一個db資料夾

4、win7配置相對於錯誤較多,以下是win10的配置,下載下來一直點選下一步,倒數第二步左邊點選取消
5、加入環境變數:複製安裝目錄下bin資料夾的目錄,右擊我的電腦=>屬性。在環境變數中貼上bin檔案路徑,用分

6、開啟控制檯輸入:mongod 檢視是否安裝成功

7、使用mongo命令連線至資料庫

關於mongodb的基本操作指令在上文已經有全面的總結,下面來看幾個最簡單的應用

連線node

首先初始化npm

npm init

再下載node外掛:

npm install mongodb

然後執行以下程式碼:

//連線資料庫
//獲取資料庫物件
//執行查詢語句
//方法一
var MongoClient = require("mongodb").MongoClient;//獲取mongod模組
var mongoDB = "mongodb://localhost:27017/test";
// 新建資料庫連線
MongoClient.connect(
    mongoDB,
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("連線成功!");
        db.close();//斷開連線
    }
);


//方法二
/* var MongoClient = require("mongodb").MongoClient;//獲取mongod模組
var DB_CONN_STR = "mongodb://localhost:27017/test";
MongoClient.connect(DB_CONN_STR,function (err,db) {
    console.log(err);
    console.log('連線成功');    
}) */

node查詢


//node查詢
var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("連線成功!");
        var dball = db.db('UserList');//資料庫名
        dball.collection('allUser').find({}).toArray(function(err,result) {//查詢語句
            if (err) {
                console.log(arr);//拋錯
                return;
            }
            console.log(result);//列印查詢結果(這裡是查詢所有)
            db.close();
        });
    }
);

/* //第二種
var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
//選中age集合,並用find方法把結果集拿回來進行處理
db.collection("age").find({title: "cba"}).toArray(function(err, result) {
if (err) {
console.log('Error:' + err);
return;
}
console.log(result);
});
}); */

Node插入:

var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("連線成功!");
        var dball = db.db('UserList');      
        // 新增
        dball.collection("allUser").insert([{//插入兩項,放在陣列中
            email: '12345',
            password:'54321'
        }, {
            email: 'root',
            password:'root'
        }], function (err, result) {
            if (err) {
                console.log('Error:' + err);
                return;
            }
            console.log(result)//返回插入結果
        })
        db.close();//關閉資料庫連線
 
    }
);
//第二種
/* var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
const db = client.db("demo");
db.collection("age").insert([
{
title: "插入的值A"
}, {
title: "插入的值B"
}
], function(err, result) {
if (err) {
console.log('Error:' + err);
return;
}
console.log(result)
})
}); */

 Node更新:

var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("連線成功!");
        var dball = db.db('UserList');
        // 更新資料庫
        dball.collection("allUser").update({//查詢email為abcde的,將email換成12345,password換成12345
            email: 'abcde'
        }, {$set:{
            email: '12345',
            password:'12345'
        }}, function (err) {
            if (err) {
                console.log('Error:' + err);
                return;
            }
        })
        db.close();
    }
);
//第二種
/* var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
db.collection("age").update({
"_id": 1
}, {
$set: {
title: "你好,世界",
skill: "js"
}
}, function(err, result) {
if (err) {
console.log('Error:' + err);
return;
}
//console.log(result);
});
}); */

Node刪除:

var MongoClient = require("mongodb").MongoClient;
var mongoDB = "mongodb://localhost:27017/";
MongoClient.connect(
    mongoDB,
    function (err, db) {
        if (err) {
            throw err;
        }
        console.log("連線成功!");
        var dball = db.db('UserList');
        // 刪除
        dball.collection("allUser").remove({
        //刪除email為12345的那項
            email: '12345'
        }, function (err) {
            if (err) {
                console.log('Error:' + err);
                return;
            }
        })
        db.close();
    }
);
//第二種
/* var MongoClient = require('mongodb').MongoClient;
var DB_CONN_STR = 'mongodb://localhost:27017/wscats';

MongoClient.connect(DB_CONN_STR, function(err, db) {
console.log("連線成功!");
db.collection("age").remove({
"_id": 1
}, function(err, result) {
if (err) {
console.log('Error:' + err);
return;
}
//console.log(result);
//關閉資料庫
db.close();
});
}); */