我是Mean.js的新手,并使用默认的文章CRUD。在完成Bossable教程之后,我想将编辑访问权限更改为多个用户,现在我已经丢失了。我把所有东西都擦干净并重新开始。对用户'进行任何更改似乎阻止我做任何编辑或添加新文章的事情。
信息传递到哪里,以便我可以进行更新?
我可以使用相同的路径添加多个授权用户吗?
更新
在articles.server.controller.js文件中搜索后,如果我改变:
exports.create = function(req, res) {
var article = new Article(req.body);
article.user = req.user;
article.save(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(article);
}
});
};
到
exports.create = function(req, res) {
var article = new Article(req.body);
article.founder = req.user;
article.save(function(err) {
if (err) {
return res.status(400).send({
message: errorHandler.getErrorMessage(err)
});
} else {
res.json(article);
}
});
};
我添加了一位'所有者'用户类型的Mongoose文件:
owner: {
type: Schema.ObjectId,
ref: 'User'
}
当我尝试显示信息时,如果我使用" article.founder.displayName",如果我只是使用" article.founder"它得到一串数字和字母。用它来玩更多我觉得它只是保存user._id。
我怎样才能让它给我这个对象? 如何传递该对象,就好像它是用户信息一样? 我可以在文章实体中保存一组User对象吗?
答案 0 :(得分:0)
我想你想要用户的细节。您可以使用article.founder(通过req.user存储user._id)来执行应用程序级别的连接。
author = db.users.findOne({_id: article.founder});
然后您可以访问author.displayName。从这里您可以直接使用它,或选择扩展文章架构以包括作者名称字段(请参阅反规范化)
以下是一系列三篇文章,我认为您会发现有益于理解上述建议: http://blog.mongodb.org/post/87200945828/6-rules-of-thumb-for-mongodb-schema-design-part-1