FeathersJS 日期作为字符串保存到数据库

FeathersJS Date is saved to database as string

我正在使用 FeathersJS。

我正在尝试修补一个文档,将一个带有 Date 对象的字段更改为 MongoDB 数据库,但我将此字段保存为字符串而不是 Date 对象。我也在使用 setNow() 钩子,我可以看到在 setNow() 钩子中指定的字段被保存为日期,但我的字段被保存为字符串。

有人知道为什么会这样吗?

限制是 MongoDB 本身(与 Mongoose 不同)没有模式,因此所有用户提交的正文或查询中的数据都必须转换为您需要保存的类型或从 a hook. This is documented here 中的数据库查询。在你的情况下它将是

app.service('users').hooks({
  before: {
    create(context) {
      context.data.myDate = new Date(context.data.myDate);

      return context;
    }
  }
});