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

How do I set a date field to null in Loopback?

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

我正在 RESTful API 上展示我的模型。

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

这是环回中的错误或不受支持的功能,还是存在用于将日期字段设置为 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();
  }
}

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
 }

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