Je API-functie ziet er goed uit.
Ik vermoed dat uw probleem is met hoe uw modellen zijn ingesteld, of wat er in uw database staat. Ik had soortgelijke problemen de eerste keer dat ik Heroku probeerde te gebruiken, omdat Localhost vergevingsgezinder is.
Om uw API te laten werken, moeten de volgende 3 dingen worden ingesteld:
(1) Model file: people.js
moet er ongeveer zo uitzien:
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
var peopleSchema = new Schema({
name: {
type: String,
required: true,
trim: true
},
friends: [{
type: Schema.Types.ObjectId,
ref: "Friends"
}]
});
const People = mongoose.model('Peoples', peopleSchema);
module.exports = People;
En dan moet je een 'Friends'-model hebben, waarnaar 'People' verwijst.
(2) Model file: friends.js
moet er ongeveer zo uitzien:
var mongoose = require("mongoose");
var Schema = mongoose.Schema;
// Create the Comment schema
var friendsSchema = new Schema({
friend_name: {
type: String,
required: true,
trim: true
},
});
const Friends = mongoose.model('Friends', friendsSchema);
module.exports = Friends;
En tot slot, om .Populate te laten werken, heb je ten minste twee documenten in de database nodig.
(3) Database must contain a Person doc and a Friend doc
moet er ongeveer zo uitzien:
people.js :
"_id": {
"$oid": "5bef3480f202a8000984b3c5"
},
"name": "Monica Geller"
"friends": [
{
"$oid": "5bef3480f202a8000984b5b4"
}
]
friends.js :
"_id": {
"$oid": "5bef3480f202a8000984b5b4"
},
"friend_name": "Rachel Green"
Hopelijk helpt dit, of komt u dichter bij uw antwoord.