1

友達をアプリに招待するためのFacebookリクエストダイアログがあり、もちろん、招待されたユーザーIDで応答を受け取り、それをユーザードキュメントの下の「グループ」というコレクションに保存します。次のようになります。

{ "creator" : "qzD5X33Jejq5BYRdZ", "name" : "Soccer", "emailAt" : 4, "date" : "10/31/2013", "friends" : [  "dude dude",  "another dude" ], "location" : "xxx", "rules" : "Soccer", "desc" : "Soccer", "users" : [  "100006794617787",  "100006832923859" ], "_id" : "ZMgzuy88EiSWF6xnS" }

私の発行機能では、作成者とユーザーのみがこのグループを持つようにしたいのですが、使用する必要があるユーザーコレクションにアクセスする必要があり、使用this.userするクライアントで使用することを知っているMeteor.user() ので、これを試しました:

Meteor.publish("Teams",function(){
    return Groups.find({creator:this.userId},{users:this.user.services.facebook.id},{fields:{
        date:false,
        desc:false,
        rules:false,
        friends:false,
        location:false,
        emailAt:false
    }});
});

しかし、これが機能していないと推測できるように、機能させる方法について何か提案はありますか? 注:Facebookログインのみを使用しているため、Facebook IDを使用すると非常に便利です。

4

1 に答える 1

1

ただ電話できるかどうかはわかりませんthis.user(と思います)。this.user使用userして解決する代わりに、解決する必要があります。

var user = Meteor.users.findOne({_id: this.userId});

もう1つは小さなタイプミスです:):

return Groups.find({creator:this.userId, users:user.services.facebook.id}...

それ以外の

return Groups.find({creator:this.userId}, {users:this.user.services.facebook.id}...
于 2013-10-25T17:18:02.230 に答える