2016-04-04 17 views
0

MEANを使用してWebアプリケーションを作成しています。私はAngularJSチュートリアルを見ていて、内部にすべての製品が入った大きなJSONファイルを持っていて、各製品ごとにJSONファイルを分けています。MongoDB Jsonのドキュメント構造

リンク:https://docs.angularjs.org/tutorial/step_08

私はMongoDBのを使用して、このデータを持っていた場合。

"title: Grand Theft Auto V", 
"genre": "Genre: Action, Adventure", 
"developer": "Developer: Rockstar North", 
"releasedate": "Release Date: 2015. April 14. (PC)", 
"publisher": "Publisher: Rockstar Games ", 
"rcpu": "Intel Core i5 3470 @ 3.2GHZ (4 CPUs)/AMD X8 FX-8350 @ 4GHZ", 
"rram": "8GB", 
"rgpu": "NVIDIA GTX 660 2GB/AMD HD7870 2GB", 
"directx": "12", 
"operatingsystem": "Windows 7 ", 
"storage": "65GB", 
"mcpu": "Intel Core 2 Quad CPU Q6600/AMD Phenom 9850 Quad-Core Processor", 
"mgpu": "NVIDIA 9800 GT 1GB/AMD HD 4870 1GB", 
"ram": "4GB" 

タイトルのあるすべてのゲームのリストを表示したい場合は、一度クリックするとシステム要件が読み込まれます。

データを格納する最良の方法は何でしょうか?

ありがとうございます。

+0

「平均」とは何ですか? –

+0

申し訳ありませんが、あなたの質問は明確ではないと思います。 「データを格納する最良の方法は何でしょうか」と尋ねると、あなたは、1)あなたの仕事に最適なデータベース技術は何ですか? 2)最良のデータベース・スキーマ/モデルとなるもの、または3)データを収穫してデータベースに供給するための最良の方法は何でしょうか。またはそれらのどれも。ご指定ください。 –

+1

@Hector - MEAN ** M ** ongoDB ** E ** xpress.JS ** A ** ngular.JS ** N ** ode.JS –

答えて

2

まずはthis postにアクセスしてゲーム用のREST APIを作成してください。

これで、ゲームのリストのデータが必要になります。今これはあなたのゲームtitleのリストとその_idフィールドを返します

db.collection('games').find({}, {title: 1}, function(err, games){ 
    if(err) console.log("Error: " + JSON.stringify(err)); 
    if(games) res.json(200, games); 
}); 

:あなたのような何かを行うことができますことを取得します。

第2に、ゲームに関する詳細が必要です。 gamesコレクションに_idフィールドを照会すると取得できます。このようなもの:

db.collection('games').findOne({_id: game_id_from_request_params}, function(err, game){ 
    if(err) console.log("Error: " + JSON.stringify(err)); 
    if(game) res.json(200, game); 
}); 

これは、すべてのシステム要件を含む特定のゲームに関する詳細を示します。

これが役に立ちます。

+0

返信ありがとうございます。 1つの文書のデータ? Angularの例はhttps://github.com/angular/angular-phonecat/tree/master/app/phonesでした。彼らはすべての情報についてはphones.jsonを使用し、次にそれぞれの電話機用のJSONファイルを使用しています。私の知識は、mongoDBの文書が.JSONファイルと同じであることを私に伝えますか? – Noobcoder

+0

実際、MongoDBドキュメントは基本的にJSONオブジェクトです。また、JSONオブジェクトは本質的にキーバリューペアを持つJavaScriptオブジェクトです。今では、すべてのJSONオブジェクトを1つのJSONファイルに保存するかどうかを決めるのはあなた次第です。 MongoDBは、JSONオブジェクトであるドキュメントのコレクションを管理しています。 –

+0

あなたがそれらをどのように保存するかはあなた次第です。これが練習用の場合のみ、これらのJSONオブジェクトをAngularJSサービスまたはファクトリの配列に格納することもできます。そして、そのサービスや工場のメソッドを呼び出してデータを取得します。 –