Vaše funkce API vypadá dobře.
Mám podezření, že váš problém je v tom, jak jsou vaše modely nastaveny nebo co je ve vaší databázi. Měl jsem podobné problémy, když jsem poprvé zkusil použít Heroku, protože Localhost je shovívavější.
Aby vaše API fungovalo, musí být nastaveny následující 3 věci:
(1) Model file: people.js
musí vypadat nějak takto:
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;
A pak musíte mít model 'Přátelé', na který 'Lidé' odkazují.
(2) Model file: friends.js
musí vypadat nějak takto:
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;
A konečně, aby .Populate fungovalo, potřebujete v databázi alespoň dva dokumenty.
(3) Database must contain a Person doc and a Friend doc
musí vypadat nějak takto:
people.js :
"_id": {
"$oid": "5bef3480f202a8000984b3c5"
},
"name": "Monica Geller"
"friends": [
{
"$oid": "5bef3480f202a8000984b5b4"
}
]
friends.js :
"_id": {
"$oid": "5bef3480f202a8000984b5b4"
},
"friend_name": "Rachel Green"
Doufejme, že to pomůže nebo vás přiblíží k vaší odpovědi.