NotFoundError: Not Found

Object.throw

/home/ubuntu/hanpress/node_modules/koa/lib/context.js:97:11

       * Note: `status` should only be passed as the first parameter.
   *
   * @param {String|Number|Error} err, msg or status
   * @param {String|Number|Error} [err, msg or status]
   * @param {Object} [props]
   * @api public
   */

  throw(...args) {
    throw createError(...args);
  },

  /**
   * Default error handling.
   *
   * @param {Error} err
   * @api private
   */

  onerror(err) {
                

module.exports.index

/home/ubuntu/hanpress/web/controllers/app/article.js:91:16

          }
    } catch (error) {
      id = params.id;
      mquery = {
        "slug" : id
      }
    }
    let article = await model.findOne(mquery).lean();
    if (dan.isEmpty(article) || (article.status !== 1 && !query.isPreview)) {
      ctx.throw(404);
    }
    let categoryData = await categoryModel.findOne({_id: dan.ObjectId(article.column)});
    // 文章阅读量+1(生产环境)
    if (dan.app.env == 'production' && (!query.isPreview)) {
      let views = await ctx.session.views;
      // 查看阅读文章中是否包含当前文章id
      if (!dan.isEmpty(views)) {
        if (!views.includes(article._id.toString())){
          ctx.session.views.push(article._id.toString());
          article = await model.incrementViewNum(article._id.toString());
                

::

    [native code]
                

process._tickCallback

internal/process/next_tick.js:188:7

    [native code]