Loopbackjs 如何在环回中将日期字段设置为null?

Loopbackjs 如何在环回中将日期字段设置为null?,loopbackjs,Loopbackjs,我有一个定义了两个日期字段的模型,与postgresql数据库绑定 我正在通过RESTful API公开我的模型 我想清除其中一个日期字段,即通过API将其设置为NULL。 在API上调用put时,我找不到将日期值设置为NULL的日期字段的任何值-我只在环回数据源juggler/lib/model-builder.js第512行中得到一个运行时错误 这是一个错误还是环回中不支持的功能,或者是否存在将日期字段设置为NULL的特定格式 谢谢 使用节点API标记,您可以使用updateAttribut

我有一个定义了两个日期字段的模型,与postgresql数据库绑定

我正在通过RESTful API公开我的模型

我想清除其中一个日期字段,即通过API将其设置为NULL。 在API上调用put时,我找不到将日期值设置为NULL的日期字段的任何值-我只在环回数据源juggler/lib/model-builder.js第512行中得到一个运行时错误

这是一个错误还是环回中不支持的功能,或者是否存在将日期字段设置为NULL的特定格式

谢谢


使用节点API标记,您可以使用updateAttribute函数:

module.exports = function(yourModel){
  yourModel.observe('after save', function(ctx, next) {
    ctx.instance.updateAttribute(
      "dateOne",
      null,
      function(err, obj){
        if (err){
          console.log(err);
        }
        console.log(obj);
      }
    );
    next();
  }
}

请注意updateAttribute和updateAttribute之间的不同参数类型

如果您想使用API使用PUT方法更新您的模型,您必须传递属性值为null的对象。使用API资源管理器并尝试使用模型的PUT方法传递JSON数据,如下所示

{
   "dateOne": null,       
   "dateTwo": "2015-05-10T22:00:00.000Z",       
   "id": 1
 }

这会将您的日期设置为空。

我看到不一致的行为。当我在测试脚本中执行此操作时(使用frisby+jasmine),空日期会在服务器中导致运行时错误。当我在API资源管理器中执行此操作时,它会工作……我猜您发送的是带有双引号的空值,因此它被视为字符串。您应该发送不带引号的null。如果情况并非如此,您能否提供导致问题的部分测试脚本?