2017-11-13 9 views
0

私はこれにはかなり新しいので、私は適切な専門用語を使用していない場合は謝罪します。 Node、Express、MongoDB、Mongooseを使用しています。MongooseオブジェクトIDとユーザーIDを照合してDOMに表示すると

私はレシピのためのmongoモデルがあります:

var recipeSchema = new mongoose.Schema({ 
    name: String, 
    url: String, 
    notes: String, 
    image: String, 
    ingredients: [String], 
    author: { 
     id: { 
     type: mongoose.Schema.Types.ObjectId, 
     ref: 'User' 
     }, 
     username: String 
    } 
}); 

とユーザーのためのモデル:

var userSchema = new mongoose.Schema({ 
    username: String, 
    password: String, 
    recipes: [ 
    { 
    type: mongoose.Schema.Types.ObjectId, 
    ref: 'Recipe' 
    } 
] 
}); 

私はレシピを表示すると、私は現在のユーザーが追加した場合は、1つのボタンを表示したいのそれらのレシピオブジェクトに対する特定のレシピ、およびレシピオブジェクトがない場合に表示される異なるボタンを含む。私のクライアントサイドのコードは、現在のレシピを照合するのに使うことができるcurrentUser_idにアクセスできますが、現在のレシピが一致しているかどうかを確認できますが、その情報をDOMに渡してボタンを更新します。

答えて

0

このタイプの問題へのアプローチは、特定のAPIに応答するサーバーを持つことです。例:

呼び出し:http://yourserver.com/recipes/<user_id> - そのユーザーのすべてのレシピを含むjsonを返します。

別のアイデア:http://yourserver.com/u/<user_id>/recipe/<recipe_id> - そのuser_idにそのrecipe_idがあるかどうかをtrueまたはfalseで返します。

DBへのすべてのアクセスは、それを処理するexpressメソッドで実行されます。

+0

これらのルートが既に他の機能用にアプリに存在する場合はどうなりますか? – David

+0

さて、いつも通り、もっと多くの経路を追加することができます。 –

関連する問題