Ваша функция API выглядит нормально.
Я подозреваю, что ваша проблема в том, как настроены ваши модели или что находится в вашей базе данных.У меня были подобные проблемы в первый раз, когда я пытался использовать Heroku, потому что Localhost более щадящий.
Чтобы ваш API работал, необходимо настроить следующие 3 вещи:
(1) Model file: people.js
должно выглядеть примерно так:
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;
И тогда у вас должна быть модель «Друзья», на которую ссылается «Люди».
(2) Model file: friends.js
должна выглядеть примерно так:
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;
И наконец, для того, чтобы .Populate работал, вам нужно как минимум два документа в базе данных.
(3) Database must contain a Person doc and a Friend doc
должен выглядеть примерно так:
people.js :
"_id": {
"$oid": "5bef3480f202a8000984b3c5"
},
"name": "Monica Geller"
"friends": [
{
"$oid": "5bef3480f202a8000984b5b4"
}
]
friends.js :
"_id": {
"$oid": "5bef3480f202a8000984b5b4"
},
"friend_name": "Rachel Green"
Надеюсь, это поможет или приблизит вас к вашему ответу.