小编kl0*_*l02的帖子

将快速路由分解为单独的文件

我已经尝试了我在 s/o 上找到的所有答案,我确定我一定遗漏了一些东西。什么对我没有错误而是给了我一个 404。我尝试了来自Node.js 中组织路由的答案,strongloop 的路由分离模式,来自如何在 Express 中的多个文件中包含路由处理程序的答案, 遇到类似Router.use 需要中间件功能的错误但这些答案都没有奏效。在 Express 4.0无法将路由拆分为单独的文件的答案不会出错,但也会出现 404。似乎每个答案都有不同的语法和风格,也许是我混合和匹配不正确?

现在我的 /routes/persons.js 有这个模式:

    var express = require('express');
    var persons = express.Router();

    persons.route('/persons/:user_id')
        .put(function (req, res, next) {
            // etc
    });

    module.exports = persons;       
Run Code Online (Sandbox Code Playgroud)

在我的 server.js 文件中,我有:

    var persons = require('./routes/persons');
    app.use('/persons', persons);
Run Code Online (Sandbox Code Playgroud)

这种组合不会引发错误,但也不会执行任何操作。我尝试将端点添加到 server.js 行:

    var persons = require('./routes/persons');
    app.get('/persons/:user_id', persons.addpersons);
Run Code Online (Sandbox Code Playgroud)

并将 people.js 剥离为仅导出功能:

    exports.addpersons = function (req, res, next) { …
Run Code Online (Sandbox Code Playgroud)

javascript node.js express

4
推荐指数
1
解决办法
2556
查看次数

mongoose/mongodb不会用PUT更新

我目前是Express和失败方式的学生.

我目前的头痛是PUT不是PUT-ting.我的应用程序有一个我需要在用户第一次登录时上传的数据.我想在之后它会更快,因为我只能上传已更改的内容.这个理论并没有那么顺利.

步骤是:

  1. 用户首次登录,经过身份验证
  2. 应用程序在"值"架构中创建一个新条目,仅包含必填字段
  3. 应用程序翻转用户架构中的开关以显示已创建的值
  4. 然后,应用程序将其余值PUT放入现有架构中.

我把2和4分成两块,因为当我把它分成两块时,由于某种原因,Mongoose开始扔掉他的装.除了现在,它实际上并没有在步骤4,甚至更晚的时候用户编辑任何内容(通过应用程序中的表单).这就像它停止听,或者其他什么.

这是值模式的样子(截断,因为它是巨大的):

    var ValueSchema = new Schema({
        user_id: {
            type: String,
            required: true,
            unique: true
        },
        base: [{
            type: String,
            required: true
        }],
        value1: [ String ],
        value2: [ String ],
        value3: [ String ],
        value4: [ String ]
    });
Run Code Online (Sandbox Code Playgroud)

这是GETting和PUTting的部分:

    // ------------------ FORM VALUES
    router.route('/values/:user_id')
        // create
        .post(function(req, res) {
            var task = req.body;
            var value = new Value(task);
            value.save(function(err) {
                if (err) {
                    res.json(err);
                } else {
                    res.write("success");
                }
            });
        }) …
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb express angularjs

2
推荐指数
1
解决办法
1670
查看次数

标签 统计

express ×2

angularjs ×1

javascript ×1

mongodb ×1

mongoose ×1

node.js ×1