什么是node.js + mongodb应用程序的基本架构?

我一直在寻找没有运气的年龄。 我在GitHub上发现了一些模块,但不幸的是,已经过时了。 有谁知道任何CRUD模块或教程node.js 0.6.x + mongodb?

您可以尝试节点mongodb本机驱动程序; 节点MongoDB的原生

样品插页;

var mongodb = require('mongodb'); var server = new mongodb.Server("127.0.0.1", 27017, {}); new mongodb.Db('test', server, {}).open(function (error, client) { if (error) throw error; var collection = new mongodb.Collection(client, 'test_collection'); collection.insert({hello: 'world'}, {safe:true}, function(err, objects) { if (err) console.warn(err.message); if (err && err.message.indexOf('E11000 ') !== -1) { // this _id was already inserted in the database } }); }); 

node.js / express + mongodb CRUD服务的基本体系结构

node.js / express应用程序允许您轻松创buildURL特定的HTTP请求处理程序,因此制作简单的服务API非常方便。 有两个基本的部分:路由和处理。

请求路由

对于MongoDB CRUD服务,一种方法是使用URLscheme将其实现为REST API,该scheme指定URL中的CRUD操作,目标数据库和集合。
/[crud]/{db}/{collection}
要在myMongo中创build一个文档,在myCollection中 ,只需发送一个POST请求到' http:// host / c / myMongo / myCollection ',并将文档放在请求正文中。 节点路由器对象允许基于正则expression式的path匹配和术语提取。 因此如下: router.post(/\/c\/(\w+)\/(\w+)$/, require('./create'));
将匹配CREATE请求,将db和collection这两个条件添加到请求对象(见下文),并将其发送到create.js中定义的处理程序。

请求处理

请求处理程序的forms如下:
function(req, res, next)在哪里
req是传入的请求对象(以及之前匹配的URLpath条件将被放置的位置)
res是传出的响应对象
接下来是一个callback,信号继续到下一个请求处理程序

执行CREATE操作可能如下所示:

 var d = req.params[0]; var c = req.params[1]; var client = getMongoDBClient(); client.db.db(d).collection(c).insert(req.body); client.close(); res.end(); 

(其他操作看起来类似)

我写了自己的服务来处理MongoDB文档中非常简单的CRUD操作。 它以node.js / express应用程序的forms实现,并使用node-mongodb-native驱动程序。 我并不打算将其作为教程,但它确实涵盖了上述的基础知识,可能会帮助您开始使用。

https://github.com/stupid-genius/MongoCRUD