1. 程式人生 > >nodejs中使用mongodb

nodejs中使用mongodb

MongoDB 擁有 NoSQL 的普遍特色,不用預先定義 Schema,所有的 database 和 collection(相當於傳統 RDBMS 的 Table),都會在新增資料後,自動被建立,我們只要專注於使用 NodeJS 操作資料庫即可。

1、首先要在專案中安裝mongodb,安裝命令是:

npm install mongodb

2、server.js

/**
 * Created by Administrator on 2016/7/16.
 */

var  mongodb = require('mongodb');
var  server  = new mongodb.Server('localhost'
, 27017, {auto_reconnect:true});//伺服器與mongodb相連 var db = new mongodb.Db('mydb', server, {safe:true});//在mongodb中建立資料庫mydb //連線db db.open(function(err, db){ if(!err){ console.log('connect db'); // 連線Collection(可以認為是mysql的table) // 第1種連線方式 // db.collection('mycoll',{safe:true}, function(err, collection){
// if(err){ // console.log(err); // } // }); // 第2種連線方式 db.createCollection('mycoll', {safe:true}, function(err, collection){ if(err){ console.log(err); }else{ //新增資料 // var tmp1 = {id:'1',title:'hello',number:1};
// collection.insert(tmp1,{safe:true},function(err, result){ // console.log(result); // }); //更新資料 // collection.update({title:'hello'}, {$set:{number:3}}, {safe:true}, function(err, result){ // console.log(result); // }); // 刪除資料 // collection.remove({title:'hello'},{safe:true},function(err,result){ // console.log(result); // }); // console.log(collection); // 查詢資料 var tmp1 = {title:'hello'}; var tmp2 = {title:'world'}; collection.insert([tmp1,tmp2],{safe:true},function(err,result){ console.log(result); }); collection.find().toArray(function(err,docs){ console.log('find'); console.log(docs); }); collection.findOne(function(err,doc){ console.log('findOne'); console.log(doc); }); } }); // console.log('delete ...'); // //刪除Collection // db.dropCollection('mycoll',{safe:true},function(err,result){ // if(err){ // console.log('err:'); // console.log(err); // }else{ // console.log('ok:'); // console.log(result); // } // }); }else{ console.log(err); } });

node server.js之後顯示:
這裡寫圖片描述

其實操作mongodb最好用mongoose:
參考;http://www.cnblogs.com/aaronjs/p/4489354.html
Mongoose庫簡而言之就是在node環境中操作MongoDB資料庫的一種便捷的封裝,一種物件模型工具,類似ORM,Mongoose將資料庫中的資料轉換為JavaScript物件以供你在應用中使用。

使用mongoose操作mongodb一般流程(儲存資料):
1、引入mongoose:

var mongoose=require("mongoose");

2、通過Schema建立一個模式
3、通過模式建立一個模型
4、通過模型寫入資料
5、通過save方法儲存
例子:

var Schema = mongoose.Schema;
//骨架模版
var movieSchema = new Schema({
    doctor   : String,
    title    : String,
    language : String,
    country  : String,
    year     : Number,
    summary  : String,
    poster   : String,
    flash    : String
})
//模型
var Movie = mongoose.model('Movie', movieSchema);
//儲存資料
var moive = new Movie({
    title: '黑衣人三',
    doctor: '史密斯',
    year: 2018,
    flash: 'http://player.youku.com/player.php/sid/XNjA1Njc0NTUy/v.swf',
    country: '美國',
    language: '英語',
    summary: '好片'
})
//儲存資料庫
moive.save(function(err) {
    if (err) {
        console.log('儲存失敗')
        return;
    }
    console.log('meow');
});

**注意的一點:**schema模式和模型不能同名,否則會失敗

2、更新、刪除資料見參考