如何在Loopback中将日期字段设置为null?

时间:2015-05-08 17:37:28

标签: loopbackjs

我有一个模型,其中定义了2个日期字段,绑定到postgresql数据库。

我通过RESTful API公开我的模型。

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

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

感谢,

标记

1 个答案:

答案 0 :(得分:1)

使用Node 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();
  }
}

http://apidocs.strongloop.com/loopback/#persistedmodel-prototype-updateattribute

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

如果要使用API​​使用PUT方法更新模型,则必须传递属性为null值的对象。使用API​​ Explorer并尝试模型的PUT方法并传递您的JSON数据

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

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