【问题标题】:Access request in Mongoose virtual propertyMongoose 虚拟财产中的访问请求
【发布时间】:2015-07-22 17:10:30
【问题描述】:

考虑这个示例

var ArticleSchema = new Schema({
    content: {
        type: String,
        default: '',
        trim: true
    },
    user: {
        type: Schema.ObjectId,
        ref: 'User'
    }
}, {
    toObject: { virtuals: true },
    toJSON: { virtuals: true }
});
ArticleSchema.virtual('is_owner').get(function () {
    //how to access app request here?
    //i would like to get req.user variable here
    return false;
});
mongoose.model('Article', ArticleSchema);

正如评论中所写,我想访问虚拟财产中的路由请求,但不知道这是否合法?

第一个想法是要求在虚拟内表达

ArticleSchema.virtual('is_owner').get(function () {
        var express = require('express');
        var app = express();
        //then what?
    });

但应用没有请求

【问题讨论】:

    标签: node.js express mongoose


    【解决方案1】:

    假设这是你的路线:

    app.post('/articles', function newArticle(req, res, next) {
    
      var article = new Article(req.body);
      article.set('is_owner', req);
      article.save(function onSaved(err, savedArticle) {
        if (err) {
          return next(err);
        }
        res.json(savedArticle);
      });
    
    });
    

    这是你的虚拟:

    ArticleSchema.virtual('is_owner').set(function (req) {
      // => do what ever you want here.
    });
    

    【讨论】:

    猜你喜欢
    • 2018-12-01
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    相关资源
    最近更新 更多