2016-07-28 9 views
0

こんにちは私は問題があります。私は私がMeteor aldeed collections2 forループを使用してオブジェクトの配列にデータを更新します。

// ServiceProviders.update({ 
        // '_id':"GmkGSXjyNFshomdCu"}, 
        // { 
        //  '$set': {'fields':{ 
        //    '$.category':categorydata, 
        //    '$.sub':subdata 
        //  }} 
        // },function(error,result){console.log(error);console.log(x+y);}); 

、その後

ServiceProviders.update(
{'_id': 'JN4mRPfJZqBadZtPY' }, 
    {'$set': {'fields.0.category': categorydata,'fields.0.sub':subdata}}, 
    true); 

var x = "fields."+i+".category"; 
        var y = "fields."+i+".sub"; 
        x=x.toString(); 
        y=y.toString(); 
    ServiceProviders.update( 
    {'_id': 'JN4mRPfJZqBadZtPY' }, 
    {'$set': {x: categorydata,y:subdata}}, 
    true); 
をしようとしたサーバーにsavaData.jsをループ

fields:{ 
     type:[Object], 
     label:"Fields", 
     optional:true 
    }, 
    "fields.$.category":{ 
     type:String, 
     label: "Category" 
    }, 
    "fields.$.sub":{ 
     type:String, 
     label:"Sub Category", 
    }, 

のために使用し、使用してオブジェクトの配列にデータを挿入したいです

私は毎回違うエラーを得ましたこの問題で私を助けてください。

答えて

1

現在、$はMeteor jsでは動作しません。 だからあなたは、サーバー側またはクライアント側のいずれかにオブジェクトフィールドを作成する必要があります。

var fieldsData = [] 
for (var i = 0; i < categorydata.length || i < subdata.length ; i++){ 
    fieldsData.push({ 
     category : (categorydata[i] ? categorydata[i] : ''), 
     sub : (subdata[i] ? subdata[i] : '') 
    }) 
} 

ServiceProviders.update( 
    {'_id': 'JN4mRPfJZqBadZtPY' }, 
    {'$set': {fields : fieldsData}}, 
    true); 

をデータが猫とSUBCAT値を持っているか、猫とSUBCAT猫オプションの真作るすべてのfildsのいずれかのために確認してください。

関連する問題