为什么hook.data没有使用PATCH持久保存到数据库?

时间:2017-12-08 21:35:54

标签: feathersjs

好吧,我是 feathersjs 的新手,我现在正试图将一个小的 express 实验移植到它上面。到目前为止,内部的工作效果很好,我可以创建一个脚手架服务的数据库条目,并且它是持久的。好的。

现在,我尝试使用 postman 向服务器发送未经身份验证的修补程序,并且不会保留更改。那一定是非常愚蠢的事情,但我现在还没有看到它。

这是受影响 hooks 的摘录:

const updateLocation = function () {
  return function (hook) {
    if (hook.params.query.latitude !== undefined && hook.params.query.longitude !== undefined) {
      return new Promise((resolve, reject) => {
        lookup({
          latitude: parseFloat(hook.params.query.latitude),
          longitude: parseFloat(hook.params.query.longitude)
        }, (info) => {
          hook.data = Object.assign(hook.data, info)
          resolve(hook)
        })
      })
    } else {
      return hook
    }
  }
}

要删除可能一直欺骗我的所有内容,我会将其直接放在修补程序 之前挂钩:

module.exports = {
  before: {
    all: [],
    find: [],
    get: [],
    create: [
      disallow('external')
    ],
    update: [
      disallow('external')
    ],
    patch: [
      updateLocation()
    ],
    remove: []
  },
  after: {
    all: [],
    find: [],
    get: [],
    create: [],
    update: [],
    patch: [
      hook => console.log(hook.data)
    ],
    remove: []
  }

如果我使用纬度经度调用 PATCH ,我会期望纬度经度(以及 lookup 方法计算的一些其他值)将在数据库条目中替换。 之后的钩子将计算出的值打印到控制台,但它们从未找到进入数据库的路径。

那么 PATCH 是不是意味着做我期望的事情?或者我没有得到一些重要的概念?

0 个答案:

没有答案