日期:2012-4-12 来源:GBin1.com
在这个三个部分的教程中,我们教大家使用Node.js和Geddy来创建了一个todo的管理应用,上一篇我们将数据保存在内存
中,在这个系列最后一篇文章中,我们将介绍如何将todo项目保存到mongodb中。
介绍MongoDB
MongoDB
是一个由10gen开发的Nosql类型的数据库。这是node应用可以使用的超棒的数据库,它将数据保存为JSON格式。并且所有的查询都是使用javascript开发的。如果你想深入了解Mongdb,请参考这两篇文章:Nosql数据库教程之初探MongoDB - 第一部分
和Nosql数据库教程之初探MongoDB - 第二部分
。相信大家会有个基本的使用概念。
安装mongodb
到如下地址下载mongodb:
http://www.mongodb.org/downloads
安装很简单,你可以参考上面文章内容。
MongoDB-Wrapper
对于我们的应用来说,我们使用一个模块来包装mongdb-native数据驱动。这很大的简化了代码,我们安装后进入你的应用并且执行如下:
npm install mongodb-wrapper
如果没有错误的话,你可以看到一个mongdb-wrapper目录出现在你的node_modules目录。
设置你的数据库
Mongdb非常简单,你不需要担心设置表,列或者数据库,简单的连接到数据库。就创建了一个!只需要添加到collection。接下来我们设置我们的应用。
编辑你的init.js文件
我们需要应用范围中访问DB ,所以我们添加代码到config/init.js。你可以看到如下:
// Add uncaught-exception handler in prod-like environments
if (geddy.config.environment != 'development') {
process.addListener('uncaughtException', function (err) {
geddy.log.error(JSON.stringify(err));
});
}
geddy.todos = [];
geddy.model.adapter = {};
geddy.model.adapter.Todo = require(process.cwd() + '/lib/model_adapters/todo').Todo;
Let’s add in our db code at the very top (and remove the geddy.todos array while we’re at it):
var mongo = require('mongodb-wrapper');
geddy.db = mongo.db('localhost', 27017, 'todo');
geddy.db.collection('todos');
// Add uncaught-exception handler in prod-like environments
if (geddy.config.environment != 'development') {
process.addListener('uncaughtException', function (err) {
geddy.log.error(JSON.stringify(err));
});
}
geddy.model.adapter = {};
geddy.model.adapter.Todo = require(process.cwd() + '/lib/model_adapters/todo').Todo;
首先我们要求mongdb-wrapper模块。然后我们设置我们的数据库,添加collection到数据库中,几乎不需要做太多。
重写我们的Modeal-Adapter
Geddy并不在乎你使用的后台,只要是使用MVC架构书写就好。这意味着你需要修改数据写入的部分都在model-adapter中。同时也注意这是一个adapter的完全重写,所以如果你需要保持使用内存保存数据的话,你需要将它备份到其它目录中。
编辑你的Save方法
打开model-adapter(lib/model_adapters/todo.js),找到save方法。应该如下:
...
...
原文来自:Node.js和Geddy初学者指南 - 第三部分:使用Mongdb持久化你的数据
分享到:
相关推荐
3. **模型与数据库交互**:探索Geddy如何使用ORM(对象关系映射)处理数据存储和检索。 4. **视图渲染**:了解Geddy如何使用模板引擎生成HTML响应。 5. **中间件实现**:分析中间件的结构和工作方式,以及如何插入...
这个"node.js windows绿色安装(含geddy/npm)"指南将介绍如何在Windows操作系统上便捷地安装并配置Node.js,同时包含Geddy框架和npm包管理器。 首先,我们来详细解释Node.js的安装过程。在Windows上安装Node.js...
Node.js是一种基于Chrome V8引擎的JavaScript运行环境,它让开发者能够在服务器端使用JavaScript编写代码,极大地推动了Web开发的进程。本篇文章将探讨一些最流行的Node.js Web开发框架,帮助初学者快速入门。 1. *...
对于初学者来说,Express因其易用性和广泛的应用而成为入门首选,而更复杂的项目可能会考虑使用如Derby或CompoundJS等更全面的MVC框架。了解这些框架的基本概念和工作方式是深入Node.js Web开发的关键。
geddy, 面向 node.js的Web框架 Geddy 一个简单的结构框架,用于节点 [Gitter](https://badges.gitter.im/Join chat 。svg )!安装 Geddy:$ npm install -g geddy注意
它已使用 Geddy.js 框架 Node.js 从头开始完全重写。 该架构也经过重新设计,以使用关系数据库 (PostgreSQL) 来创建更清晰的模型和关系。 请注意,这仍在进行中,将来会提供更多功能。 要求 节点 0.10.x 最...
在本文中,我们将深入探讨基于Node.js的Web开发技术栈,包括Node.js本身、MySQL数据库、Express框架、Jade模板引擎、Geddy框架以及MongoDB数据库。这些技术是构建高效、可扩展的Web应用程序的关键组件。 首先,让...
Geddy 和 Ember.js 一起玩! 如果您正在使用 ORM,您可能正在使用框架。 您也可能单独使用它! Geddy 有一些很棒的嵌套对象检索,但 Ember-Data 需要稍微不同的结构化数据。 该模块在两种数据结构之间建立了一座...
MVC 框架的实验模型生成器。... 在 /bin 文件夹中创建一个名为“geddy-gen-revamp”的 simlink 到 geddy-generator-revamp/bin/cli.js。 然后运行: $ geddy-gen-revamp gen model help 并遵循进一步的说明。
MVC 框架的实验控制器生成器。... 在 /bin 文件夹中创建一个名为“geddy-gen-revamp”的 simlink 到 geddy-generator-revamp/bin/cli.js。 然后运行: $ geddy-gen-revamp gen controller help 并遵循进一步的说明。
Node.js作为一个强大的JavaScript服务器端平台,为开发者提供了丰富的开发工具、包和框架,极大地提高了开发效率和项目的可维护性。以下是一些常见的Node.js开发工具、开发包和框架的详细介绍: 1. **开发工具** -...
体育数据查看器Sports Data Viewer(SDV)是使用Geddy框架构建的Node.js应用程序,该框架读取并显示JSON。 每个视图还连接到Faye服务器,以便它可以接收实时数据更新。运动王服务器Sports Faye服务器(SFS)Node.js...
吉迪一个简单,结构化的Node Web框架停产通知Geddy不再得到积极维护,因此不建议将其用于任何新项目。 对于当前用户,强烈建议迁移另一个框架。安装Geddy: $ npm install -g geddy注意:请确保您安装的节点版本不是...
通过GeddyJS,开发者可以快速地构建CRUD功能和用户登录系统,充分利用JavaScript的灵活性和Node.js的非阻塞I/O性能。理解GeddyJS的MVC架构和其对路由、模型、控制器和视图的处理方式是掌握这个框架的关键。本教程的...
Geddy 是基于 Node.js 的一个 MVC 框架,它提供了一系列的工具和结构,如路由、模型、控制器、视图等,帮助开发者快速构建 Web 应用。Geddy 的设计灵感来源于 Ruby on Rails,但它是纯 JavaScript 实现的,因此可以...
Node.js作为一个基于Chrome V8引擎的JavaScript运行环境,已经在服务器端开发领域得到了广泛的应用,尤其在Web应用开发中,Node.js的表现尤为突出。MVC(Model-View-Controller)架构模式是许多Web开发框架采用的...
使用 Geddy 和 peerflix 库构建。 要求 节点 0.10.16 从安装或使用 格迪 0.12.x [sudo] npm -g install geddy Peerflix 0.2.x [sudo] npm -g install peerflix 入门 打开命令行并切换到目录 运行npm install...
辛烷值使用和制作的问答网络应用程序。 这是一个这样的实验,将 geddy 评估为成熟的 MVC 框架。构建说明在您的机器上安装节点后,通过 npm 获取 geddy 框架$ npm install -g geddy 克隆辛烷存储库$ git clone ...