私はnode.jsは初めてですが、試してみることに興奮しています。 Webフレームワークとして Express を使用し、テンプレートエンジンとして Jade を使用しています。どちらも このチュートリアル から Node Camp に続くセットアップを簡単に取得できました。
しかし、私が見つけている1つの問題はです。DBをセットアップするための簡単なチュートリアルを見つけることができません。基本的なチャットアプリケーション(ストアセッションとメッセージ)を構築しようとしています。
誰かが良いチュートリアルを知っていますか?
この他の SO post は使用するdbsについて話しますが、これは私がこれまで行ってきたDjango/MySQLの世界とは非常に異なるため、何が起こっているのかを確実に理解したいと思います。
ありがとう!
あなたは npm がこれらの snippets (I一番上)。
データベースとしてredisを使用します。 1つは、本当に fast 、永続的です。インストールする必要がありますが、それは本当に簡単です。
make
次に、自分でredisで遊ぶ必要があります。 Simon Willison によるこの優れたチュートリアルをご覧になることをお勧めします。彼と私は、redis-cli
データベースの感覚を取得します。
最後に、redisクライアントをインストールする必要があります。 mranneyの node_redis を使用することをお勧めします。これは、最速で最も積極的に開発されたクライアントだと思うからです。
インストール
npm install hiredis redis
example.jsとして含まれている簡単な例:
var redis = require("redis"),
client = redis.createClient();
client.on("error", function (err) {
console.log("Error " + err);
});
client.set("string key", "string val", redis.print);
client.hset("hash key", "hashtest 1", "some value", redis.print);
client.hset(["hash key", "hashtest 2", "some other value"], redis.print);
client.hkeys("hash key", function (err, replies) {
console.log(replies.length + " replies:");
replies.forEach(function (reply, i) {
console.log(" " + i + ": " + reply);
});
client.quit();
});
また、expressの作成者は、redisを使用して sessions を処理するライブラリを作成しました。
インストール:
npm install connect-redis
例:
var connect = require('connect')
, RedisStore = require('connect-redis');
connect.createServer(
connect.cookieDecoder(),
// 5 minutes
connect.session({ store: new RedisStore({ maxAge: 300000 }) })
);
これには sorted set を使用すると思います。 ZADD
を使用してメッセージを保存し、ZRANK
、ZRANGEBYSCORE
を使用してメッセージを取得します。
最後に、簡単なチャットを作成する場合は、socket.ioをご覧になることをお勧めします。
socket.ioは、すべてのブラウザーとモバイルデバイスでリアルタイムアプリを実現し、異なるトランスポートメカニズムの違いを曖昧にすることを目指しています。
また、socket.ioを使用して stackoverflow に投稿したチャットを作成しました。永続性と認証を追加するのは簡単です。
セッションストアにRedisを使用し、coffeescriptを使用してデータベースにCouchdbを使用する高速認証。
この要点を確認してください: https://Gist.github.com/652819
ほとんどのプロジェクトでこのテンプレートを使用しています。以下を使用して、同様のmongodbバージョンを実装することもできます。
christkvによるnode-mongodb-native: https://github.com/christkv/node-mongodb-native 、または
mongoose: https://github.com/learnboost/mongoose 、または
アマークの巨大な: https://github.com/amark/mongous
NodeCampチュートリアルに加えて、別のNodeCampがあります tutorial Matt Ranneyが前述のredisノードライブラリの作成者から与えられたものです。それはもう少し深く入ります。
これが古い投稿であることは知っていますが、他の誰かがそれに出くわした場合に備えて、OPのほとんどのコンポーネント、特にデータベースへの接続を使用してチュートリアルを作成しました。 Backbone.jsを使用すると複雑さが増しますが、すべてがとても楽しいです!