【发布时间】:2020-08-17 22:55:10
【问题描述】:
我有两个架构,
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
// Create the User Schema
const UserSchema = new Schema({
email: {
type: String
},
password: {
type: String
}
});
module.exports = User = mongoose.model("users", UserSchema);
或
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
// Create the Status Schema
const StatusSchema = new Schema({
admin_id:{
type: Schema.Types.ObjectId,
ref: 'users'
},
text:{
type: String
},
});
module.exports = Status = mongoose.model("Status", StatusSchema, "Status");
然后我在我的 api 路由中使用 populate:
router.get(
"/",
passport.authenticate("jwt", {
session: false,
}),
(req, res) => {
try {
Status.find({}).populate('admin_id').exec(err, data=>{
console.log(data); // return a blank array : []
return res.sendStatus(200)
})
}
} catch (error) {
res.sendStatus(500);
}
}
);
当我调用这条路线时,我得到了一个空数组 [] ...。知道我做错了什么吗?我应该提到我已经在两个 admin_id 的状态集合中插入了记录
有没有其他方法可以做到这一点?
【问题讨论】:
标签: mongodb express mongoose populate mongoose-populate