2017-01-06 9 views
0

私は、以下のように2人のユーザー間で契約を結び、自分のデータベースを構成しています。問題は、両方のユーザーとの契約を作成する際に問題が発生していることです。user_id:true私は正しいアプローチをとっているかどうかはわかりません。私は、firebaseの文書に従っており、推奨されているように契約を構成しています。Polymerfire error pushing data

my-firebase 
| 
-contracts 
    |- contract-id 
    |- user_id: true 
    |- user_id: true 
    |- amount: 1000 
    |- isactive: true 
    |- started: 148314234733 

私は契約書を作成しています:

var contractDetails = { 
this.contractor:true, 
this.freelancer:true, 
amount: 1000, 
isactive: true, 
started: 'eee' 
}; 
+0

user_idsは異なりますか?今、あなたはjsonで許可されていない同じ鍵の2つを持っています。 –

+0

はい両方のuser_idが異なっています。契約は2人の異なるユーザーに属します –

+0

問題があると表明しますが、実際の問題は何ですか?エラーメッセージやコードがありますか? – cartant

答えて

0

問題はthisの使用です。あなたはES6を使用している場合は、computed propertiesを使用することができます:あなたがいない場合は、あなたの代わりに、このような何かを行うことができます

var contractDetails = { 
    [this.contractor]: true, 
    [this.freelancer]: true, 
    amount: 1000, 
    isactive: true 
    started: this.timestamp 
}; 

var contractDetails = { 
    amount: 1000, 
    isactive: true 
    started: this.timestamp 
}; 
contractDetails[this.contractor] = true; 
contractDetails[this.freelancer] = true; 
0

の方法についてのみ"isactive"をしている"contract"を照会します"user"
- 契約ID - )のisActive: "真" _user.uid //単一
を作成するためのデータを組み合わせる - クエリ - )オーダーバイ子= "[[queryHandler]]"

- contract-id --) add property `user_uid_contractor` bind to `user.uid`<br> 

    -contracts 
     |- contract-id 
     |- user_uid_freelancer: user.uid 
     |- user_uid_contractor: user.uid 
     |- amount: 1000 
     |- isactive: "true"_user.uid // Combine data to create a single query. 
     |- started: 148314234733 

コードクエリ従業員の契約

<firebase-query 
    app-name="vida" 
    path="/contracts" 
    data="{{mycontracts}}" 
    order-by-child=""true_"[[queryHandler]]" 
    equal-to="[[user.uid]]"></firebase-query> 

     properties:{ 
     queryHandler // computed value that build the path 
     } 
関連する問題