如何在 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
}
这会将您的日期设置为空。
我有一个定义了 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
}
这会将您的日期设置为空。