Azure で単純なモバイル サービスを構築しようとしていますが、情報の挿入中に問題が発生しています。現在、モデルには User と Car の 2 つのクラスがあります。User には、AccountID、Name (これらすべての文字列)、および Car の配列があります。車には、プレート、色、およびモデル (これらすべての文字列) があります。
User オブジェクトを JSON に正しくシリアル化していますが、request.execute() を実行しようとすると、「プロパティ 'cars' の値はサポートされていないタイプのオブジェクトです」というエラーがスローされます。文字列、数値、ブール値、および日付のみがサポートされていることを知っています。
私がやりたいことは、ユーザー用と車用の 2 つの別個のテーブルを用意し、何らかの方法でそれらの間の関係を確立することです。これは私がこれまでに書いたスクリプトです
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 が車の配列 (JS のオブジェクト) であるためです。ただし、テーブル内でこのユーザーに属する車を見つけるために、ここにある種の ID が必要です。車の「所有者」に何かを追加する必要があるかもしれませんが、よくわかりません。データベースに関する知識がやや貧弱です。
私は何をすべきか?