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);
			});
		});
	}
});