我是新手.我正在尝试加入不同的集合来获取一些数据.我能够获得帖子创建者和喜欢的信息,但是我如何使用mongoose中的关联获得他们的评论和评论者信息的帖子? 用户架构 const userSche
用户架构
const userSchema = mongoose.Schema({ username: { type: String, minlength: [6, 'Minimum length of username must be 6 characters'], trim: true, lowercase: true, required: true, unique: true }, email: { type: String, minlength: [6, 'Minimum length of email must be 6 characters'], trim: true, unique: true }, password: { type: String, minlength: [6, 'Minimum length of password must be 6 characters'], required: true }, tokens: [{ access: { type: String }, token: { type: String } }], posts: [{ type: mongoose.Schema.Types.ObjectId, ref: 'post' }] }, { timestamps: true });
POST架构
const postSchema = mongoose.Schema({ title: { type: String, trim: true, required: true }, body: { type: String, trim: true, required: true }, _creator: { type: ObjectId, ref: 'user' }, comments: [{ type: ObjectId, ref: 'comment' }], likes: [{ type: mongoose.Schema.Types.ObjectId, ref: 'user' }] }, { timestamps: true });
评论架构
const commentSchema = mongoose.Schema({ title: { type: String, trim: true }, _creator: { type: ObjectId, ref: 'user' }, _post: { type: ObjectId, ref: 'post' } }, { timestamps: true }); // get posts from all users postRoutes.get('/', authMiddleware, async(req, res) => { try { const user = req.user; const posts = await Post.find({}) .populate('_creator likes comments') .sort({ createdAt: -1 }) .limit(1); return res.send(posts); } catch (e) { return res.status(400).send(e); } });
我只收到评论ID,但我希望评论他们的信息.我究竟做错了什么?
json_object_image
这是docs http://mongoosejs.com/docs/populate.html的链接