查找信息传递的位置Mean.js

时间:2015-08-12 02:23:06

标签: node.js meanjs

我是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对象吗?

1 个答案:

答案 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