【问题标题】:Finding where information is passing in Mean.js在 Mean.js 中查找信息传递的位置
【发布时间】:2015-08-13 17:14:32
【问题描述】:

我是 Mean.js 的新手,正在使用默认的 Articles 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 。

我怎样才能得到它给我的对象? 我怎样才能传递该对象,就好像它是用户信息一样? 我可以在我的文章实体中保存一组用户对象吗?

【问题讨论】:

    标签: node.js meanjs


    【解决方案1】:

    我猜你想从用户那里得到详细信息。您可以使用 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

    【讨论】:

      猜你喜欢
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 2016-01-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多