【问题标题】:User.findOne acting as User.Update in SailsJsUser.findOne 在 SailsJs 中充当 User.Update
【发布时间】:2016-12-07 08:28:09
【问题描述】:

我根据用户 ID 在 SailsJs 中请求 blueprint 路由 User.findOne,但它本身正在调用 User.update。另外,我刚刚体验了一个新的东西,在向findOne 发送多个参数时,它会根据任何一个匹配的参数更新记录。另一方面,如果我确实创建了一个名为 user.findOne 的控制器并通过控制器调用相同的路由,那么它工作得非常好。

这是 SailsJs 的正确行为还是我在任何地方都犯了一些错误?

【问题讨论】:

  • 我使用 SailsJs 框架开发了许多项目,但我没有遇到您在此处描述的任何问题。 User.findOne 只获取记录作为我们的查询参数。
  • @YogeshPatel 是的,这似乎完全不寻常和奇怪。我没有遇到任何错误/循环漏洞,这就是为什么在这里发布,希望可能有更专家能够识别问题。
  • 您可以在sails gitter 中询问。 SailsJs 有很多出口。

标签: javascript mysql node.js sails.js blueprint


【解决方案1】:

我有同样的问题,仍然想知道为什么会这样, 我什至尝试使用一些示例代码在我的控制器中创建一个update 函数,但是当我尝试从邮递员那里点击findOne 时,它会将我重定向到我创建的update 函数。 等待这个严重问题的答案。

但是我通过尝试这样的事情找到了解决方案(即在控制器中创建自定义 findOne 函数)并且它起作用了:

findOne : function (req,res){
    var myReq = req.params.all();
    console.log(myReq);
    User.findOne(myReq, function UserFound(err, user){
        if (err) return res.negotiate("User not found!");

        else{
            console.log("I am getting here");
            console.log(user);
            return res.status(200).send(user);
        }
    })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-14
    • 2019-04-09
    • 2017-06-21
    • 1970-01-01
    • 2015-12-12
    • 1970-01-01
    • 2020-08-10
    相关资源
    最近更新 更多