Hàm API của bạn có vẻ ổn.
Tôi nghi ngờ vấn đề của bạn là với cách thiết lập mô hình của bạn hoặc những gì nằm trong cơ sở dữ liệu của bạn. Tôi đã gặp vấn đề tương tự trong lần đầu tiên tôi cố gắng sử dụng Heroku, vì Localhost dễ tha thứ hơn.
Để API của bạn hoạt động, bạn phải thiết lập 3 điều sau:
(1) Model file: people.js
phải trông giống như sau:
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;
Và sau đó, bạn phải có mô hình 'Bạn bè', mô hình 'Mọi người' đang tham chiếu.
(2) Model file: friends.js
phải trông giống như sau:
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;
Và cuối cùng, để .Populate hoạt động, bạn cần ít nhất hai tài liệu trong cơ sở dữ liệu.
(3) Database must contain a Person doc and a Friend doc
phải trông giống như sau:
people.js :
"_id": {
"$oid": "5bef3480f202a8000984b3c5"
},
"name": "Monica Geller"
"friends": [
{
"$oid": "5bef3480f202a8000984b5b4"
}
]
friends.js :
"_id": {
"$oid": "5bef3480f202a8000984b5b4"
},
"friend_name": "Rachel Green"
Hy vọng rằng điều này sẽ hữu ích hoặc giúp bạn gần hơn với câu trả lời của mình.