Mongoose one在模式之间有很多关系
我知道这个问题以前已经提出过很多次了,Mongo没有确切的“hasMany”连接,但到目前为止,我没有在两个模式之间建立连接。以下是我所拥有的: 用户模型(User.js) 和posts模式(post.js) 我使用模式填充,它与post完美结合:每个模式都有所有者。但是,它不能很好地与用户协同工作。我希望能够检索显示属于他们的帖子的用户列表。在routes.js中,我定义了对数据库的api调用Mongoose one在模式之间有很多关系,mongoose,mongoose-populate,Mongoose,Mongoose Populate,我知道这个问题以前已经提出过很多次了,Mongo没有确切的“hasMany”连接,但到目前为止,我没有在两个模式之间建立连接。以下是我所拥有的: 用户模型(User.js) 和posts模式(post.js) 我使用模式填充,它与post完美结合:每个模式都有所有者。但是,它不能很好地与用户协同工作。我希望能够检索显示属于他们的帖子的用户列表。在routes.js中,我定义了对数据库的api调用 app.get('/api/users', function(req, res) { Use
app.get('/api/users', function(req, res) {
User.find(function(err, users) {
if (err)
res.send(err)
res.json(users);
}).populate('posts._id', 'posts.title');
});
但是,shell和客户端user.posts(毫不奇怪)都返回空数组。如何正确绑定这两个模型?只是一个猜测
用户。查找所有用户
.posts
属性是数组,而不仅仅是平面对象。请参阅注释
属性。您在用户上指向“帖子”的链接不是数组?那么只链接一个帖子
var meetingsSchema = mongoose.Schema({
title: String,
description: String,
_owner: { type: Schema.Types.ObjectId, ref: 'User' },
ownerName: { type: String, ref: 'User' },
created_at: { type: Date, default: Date.now },
});
app.get('/api/users', function(req, res) {
User.find(function(err, users) {
if (err)
res.send(err)
res.json(users);
}).populate('posts._id', 'posts.title');
});