2012-12-04 57 views
3

如何通過Node.js連接到MongoDB?然後將結果傳遞給客戶端JavaScript並以HTML格式顯示。從MongoDB + Node.js獲取數據到客戶端JavaScript

var http = require('http'); 
var URL = require('url'); 
var Db = require('mongodb').Db; 
var Server = require('mongodb').Server; 
var client = new Db('people', new Server("127.0.0.1", 27017, {}), { safe: false }); 

client.open(function (err, client) { 
    client.collection('people', listAllData); 
}); 

var listAllData = function (err, collection) { 
    collection.find().toArray(function (err, results) { 
    console.log(results); 
    }); 
} 
+1

使用框架貓鼬。在這裏找到http://mongoosejs.com/ –

回答

3

您應該對node.js使用Mongoose - 優雅的mongodb對象建模。 http://mongoosejs.com

快速入門指南非常酷,你應該read it

根據該文件,這裏是貓鼬如何使用一個小例子:

var mongoose = require('mongoose'); 
var db = mongoose.createConnection('localhost', 'test'); 

var schema = mongoose.Schema({ name: 'string' }); 
var Cat = db.model('Cat', schema); 

var kitty = new Cat({ name: 'Zildjian' }); 
kitty.save(function (err) { 
    if (err) // ... 
    console.log('meow'); 
}); 
3

我喜歡MongoJS到貓鼬,因爲它使用MongoDB的客戶端的語法使用相同的語法 https://github.com/gett/mongojs

// simple usage for a local db 
var db = mongojs('mydb', ['mycollection']); 

// the db is on a remote server (the port default to mongo) 
var db = mongojs('example.com/mydb', ['mycollection']); 

// we can also provide some credentials 
var db = mongojs('username:[email protected]/mydb', ['mycollection']); 

// connect now, and worry about collections later 
var db = mongojs('mydb'); 
var mycollection = db.collection('mycollection'); 

然後你就可以使用相同的語法蒙戈客戶

db.mycollection.find({}, function(err, docs) { ... }); 

db.mycollection.find({}).limit(2).skip(1, function(err, docs) { ... }); 
相關問題