2016-11-22 1 views
0

Ich habe 2 Modelle Benutzer & Wiederbeleben, wie Sie unten sehen ... im Router (siehe unten), was ist die Abfrage, um alle Wiederbelebungen zu erhalten, die dem Benutzer gehören/creator auf seinem Dashboard/Profil anzeigen?Alle Beiträge, die zu einem Benutzer in Node/Express gehören

Benutzermodell:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var userSchema = new Schema({ 
    firstName: { 
     type: String, 
     required: true 
    }, 
    lastName: { 
     type: String, 
     required: true 
    }, 
    email: { 
     type: String, 
     required: true 
    }, 
    password: { 
     type: String, 
     required: true 
    } 
}); 

module.exports = mongoose.model('User', userSchema); 

Revive Modell:

var mongoose = require('mongoose'); 
var Schema = mongoose.Schema; 

var reviveSchema = new Schema({ 
    reviveTitle: { 
     type: String, 
     required: true 
    }, 
    reviveStory: { 
     type: String 
    }, 
    author: { 
     id: { 
      type: mongoose.Schema.Types.ObjectId, 
      ref: "User" 
     } 
    } 
}); 

module.exports = mongoose.model('Revive', reviveSchema); 

Router:

router.get('/dashboard', isLoggedIn, function(req, res) { 
    code ?? to get all revives that belong to the creator/user only ?? 
    res.render('users/dashboard', {currentUser: req.user}); 
}); 
+0

Danke für den Mungo zusätzlich Dima :) irgendwelche Hinweise auf die Antwort? – SakoBu

Antwort

2

Nun, ich würde das Setup-Revive-Schema etwas anders:

author: { type: mongoose.Schema.Types.ObjectId, ref: "User"} 

Dann sollten Sie in der Lage sein, nur eine richtige Entdeckung zu machen:

const Revive = mongoose.model('Revive'); 

router.get('/dashboard', isLoggedIn, function(req, res) { 
    Revive.find({author:req.user._id}, (e, revives) => { 
     // however you handle errors goes first 
     res.render('users/dashboard', {currentUser: req.user, revives: revives}); 
    }); 
}); 
Verwandte Themen