私は現在、ノードのリアルタイム twitter json フィードに永続性を追加する方法を研究しています。ストリームの設定ができました。クライアントにブロードキャストしていますが、クライアントが最初にページにアクセスしたときにストアのjsonにアクセスできるように、このデータをcouchdbなどのjsonデータベースに保存するにはどうすればよいですか?
私はcouchdbについて頭を悩ませることができないようです。
var array = {
"tweet_id": tweet.id,
"screen_name": tweet.user.screen_name,
"text" : tweet.text,
"profile_image_url" : tweet.user.profile_image_url
};
db.saveDoc('tweet', strencode(array), function(er, ok) {
if (er) throw new Error(JSON.stringify(er));
util.puts('Saved my first doc to the couch!');
});
db.allDocs(function(er, doc) {
if (er) throw new Error(JSON.stringify(er));
//client.send(JSON.stringify(doc));
console.log(JSON.stringify(doc));
util.puts('Fetched my new doc from couch:');
});
これらは、ツイート データを保存/取得するために使用している 2 つのスニペットです。配列は 1 つの個別のツイートであり、新しいツイートを受信するたびにカウチに保存する必要があります。
saveDoc の id 部分がわかりません。一意にすると、db.allDocsは ID のみをリストし、データベース内の各ドキュメントの内容はリストしません。一意でない場合、最初の db エントリの後で失敗します。
このタイプのjsonデータをcouchdbに保存して取得する正しい方法を誰かが親切に説明できますか? 基本的に、クライアントが最初にページを表示したときにデータベース全体をロードしたいと考えています。(データベースのエントリは 100 未満になります)
乾杯。