MongoDB & Node.JS

摘要:MongoDB & Node.JS

這是MongoDB官方網站的node.js driver教學文件。

http://mongodb.github.com/node-mongodb-native/api-articles/nodekoarticle1.

 

如果已經裝了node.js的話。

那就執行你的命令列程式cmd

然後下

npm install mongodb

就會自動安裝driver

而以上的方式,是在cmd執行工作目錄下,建立node_modules

這是為了方便專案打包。

這個我也中招,發現下了之後,卻無法執行我的js

原因就在我執行工作目錄的路徑問題。所以找不到mongodb的driver

 

如果要讓他變成建立在全域型的,而非專案目錄底下,

則可以下

 

npm install -g mongodb

ps...發現這招我也失敗,還是直接把安裝後的資料,直接拿去node安裝目錄下找node_modules,直接放進去好了。(不負責任言論)

參考網頁:

http://book.nodejs.tw/zh-tw/node_npm.html

 

以全域的方式,可能會變成,萬一到客戶端安裝時,對方沒裝的問題。

可能因為這樣而預設是在工作目錄底下建立node_modules

 

要解除安裝則

 

npm uninstall mongodb

 

在工作目錄下

直接撰寫bat

直接執行npm install mongodb

這樣反而很容易就安裝。

然後執行bat 中的指令

node 程式名稱.js

就能跑了。

 

我的程式命名為mongo.js

以下是我的程式碼

var mongo = require('mongodb');
var Server = mongo.Server;
var Db=mongo.Db;

var server = new Server('localhost',27017,{auto_reconnect:true});
var db = new Db('test',server);

db.open(function(err,db){
    if(!err){
	    console.log("We are connected");
	    db.collection('users',function(err,collection){
	        var doc = {'first_name':'tom','last_name':'lai'};
			var doc2 = {'first_name':'tom_test','last_name':'lai_test'};
            collection.insert(doc);
            collection.insert(doc2);			
	    });
		
		db.collection('users',function(err,collection){
		    var query_doc = {'first_name':'tom'};			 
		    collection.update(query_doc,{'$set':{'age':26}});
		});
		
		db.collection('users',function(err,collection){
		    var query_doc = {'first_name':'tom_test'};
			collection.remove(query_doc);			
		});
		
		db.collection('users',function(err,collection){
		    var query_doc = {'first_name':'tom'};
			collection.findOne(query_doc,function(err,item){
			    console.log(item['first_name']);
				console.log(item['last_name']);
				console.log(item['age']);
			    console.log(item.first_name);
				console.log(item.last_name);
				console.log(item.age);
			});
		});
	}
});