1. 在 mongolab.com 開通新帳號並產生一個 database. Database產生後會有一個 connect string 以供使用
2. 為 node.js 安裝 mongolab 使用之模組: mongoose
$ npm install mongoose
3. 編輯你的 app.js, 例:
(假設database之username: david, password: 123456, 資料庫名: testdb)
var mongoose = require("mongoose");
var db = mongoose.connect(
"mongodb://david:123456@ds029807.mongolab.com:29807/testdb");
這個設定在 Nodester 也是可以使用的
4. 在node.js app 中存取 data
先要建立一個 schema (類似一個 record set structure)並用此 schema 建立一個通道(model), 最後在將此通道和database 連通
//建立一個 schema
var Schema = mongoose.Schema;
// Create a schema for our data
var MemberSchema = new Schema({
username: String,
password: String
});
// 用此 schema 建立一個通道
// Use the schema to register a model to the db
mongoose.model('member', MemberSchema);
// 將此通道和database 連通, 連到一個名叫 members 的 collection (類似SQL中的table),db 中mongodb 會自動加 s 在 collection 名後, 但我們依照用 member
var MemberModel = mongoose.model('member');
有了連通到 database 之通道後就可以加入資料:
new MemberModel( {username:'Elvis', password:'11111'} ).save();
new MemberModel( {username:'John', password:'22222'} ).save();
new MemberModel( {username:'Willie', password:'33333'} ).save();
var tmpDataSet = new Member();
tmpDataSet.usrename = "George";
tmpDataSet.password = "44444";
tmpDataSet.save();
也可以查詢資料:
MemberModel.find( {username: "Elvis"} , function(err, results ) {
// 解析欄位
for(var i in results) {
console.log("user="+ results[i].username + " pswd=" + results[i].password);
console.log(results[i]);
}
// 整個 schema 顯示
results.forEach(function(rmember) {
console.log(rmember);
});
});
很詳盡的解說,感謝!!
回覆刪除還有就是
var tmpDataSet = new Member();
這裡應為
var tmpDataSet = new MemberModel();