我正在尝试在 Azure 上构建一个简单的移动服务,但在插入信息时遇到了一些问题。现在,我的模型中有两个类,用户和汽车。用户有一个 AccountID、一个名称(所有这些字符串)和一个汽车数组。一辆汽车有一个盘子、一个颜色和一个模型(所有这些字符串)。
我正在将 User 对象正确序列化为 JSON,当我尝试执行 request.execute() 时,它会抛出一个错误,提示“属性 'cars' 的值是不支持的对象类型”。我知道只支持字符串、数字、布尔值和日期。
我想做的是有两个单独的表,一个用于用户,另一个用于汽车,并以某种方式在它们之间建立关系。这是我到目前为止写的脚本
function insert(item, user, request) {
if(item.accountID !== user.userId){
request.respond(statusCodes.UNAUTHORIZED,
"Unauthorized user");
} else {
if(item.cars.length){
var tableCars = tables.getTable('cars');
populateTable(tableCars, request, item.cars);
}
request.execute();
}
}
function populateTable(table, request, array){
var index = 0;
var insertNext = function(){
if(index < array.length){
var toInsert = array[index];
table.insert(toInsert, {
success: function(){
index++;
insertNext();
}
});
}
};
insertNext();
}
在这一点上,我有几个问题。如果我这样离开它,它会崩溃,因为 items.cars 是一个 Car 数组(JS 的对象),但我确实希望在这里有某种 id 来在其表中查找属于该用户的汽车。也许我应该在 Car 的“所有者”中添加一些类型,但我不确定,我对数据库的了解有点差。
我应该怎么办?