Ihre API-Funktion sieht in Ordnung aus.
Ich vermute, Ihr Problem liegt darin, wie Ihre Modelle eingerichtet sind oder was sich in Ihrer Datenbank befindet. Ich hatte ähnliche Probleme, als ich zum ersten Mal versuchte, Heroku zu verwenden, weil Localhost nachsichtiger ist.
Damit Ihre API funktioniert, müssen die folgenden 3 Dinge eingerichtet werden:
(1) Model file: people.js
muss so aussehen:
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;
Und dann müssen Sie ein „Friends“-Modell haben, auf das „People“ verweist.
(2) Model file: friends.js
muss in etwa so aussehen:
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;
Und schließlich, damit .Populate funktioniert, benötigen Sie mindestens zwei Dokumente in der Datenbank.
(3) Database must contain a Person doc and a Friend doc
muss in etwa so aussehen:
people.js :
"_id": {
"$oid": "5bef3480f202a8000984b3c5"
},
"name": "Monica Geller"
"friends": [
{
"$oid": "5bef3480f202a8000984b5b4"
}
]
friends.js :
"_id": {
"$oid": "5bef3480f202a8000984b5b4"
},
"friend_name": "Rachel Green"
Hoffentlich hilft das oder bringt Sie Ihrer Antwort näher.