2017-07-11 12 views
0

私のアプリケーションにデータを格納するためにMongoDBを使用しています。私はパーセンテージを使ってどれくらいのデータを入力したのかをユーザーに示す必要があります。mongoDbコレクションに埋め込まれたデータの量を表示する必要があります。

例:私はUSERコレクションを持っています。このコレクションにはいくつかのフィールドがあります。ユーザーが自分のプロフィールにデータを入力すると私は彼らのプロフィールにどれくらいの割合のデータを記入しているかを示す必要があります。

私のアプリケーションで。私はMongoDbとループバックフレームを使用しています。私はモデルには何の特性も定義しなかった。

この問題を解決するにはどうすればよいですか。

+0

プロパティを定義していない場合、何パーセントで計算しますか? – tashakori

+0

パーセントを計算する必要がある場合モデルのコレクションプロパティを定義する必要がありますか? – user3541485

答えて

0

あなたはあなたの中にuserモデルをプロパティを追加し、その反対の割合を定義するか、または下記のタイプobject

の、

あなたはUserモデルを持っており、それにsettings財産であると仮定述べたようにあなたは、一つのオブジェクトのプロパティを定義することができますすることができます

Settingsオブジェクトは10個のキーを与えます。 1つのキーが10%の場合、10個のキーが入力され、 100%となります。だから、ユーザーが希望の設定を満たしているかどうかをチェックし、パーセンテージをマークしてください。

ので、あなたのモデルが

{ 
    "name": "Member", 
    "base": "User", 
    "properties": { 
    "email": { 
     "type": "string" 
    }, 
    "settings": { 
     "type": "object" 
    } 
    } 
} 

とあなたのコード内のようになるには、設定を取得し、私はこれがあなたの目的を果たすことを願っていますあなたの割合

Member.findById(your_id, function(err, usr){ 
    if(!err){ 
     var percentage_completed = 0; 
     Object.keys(usr.settings).map(function(pro){ 
     if(usr.settings[pro] != ""){ 
      percentage_completed+=10; 
     } 
     }) 
    } 
    }) 

を作るためにそれを介してオブジェクトをループ。

関連する問題