ここのセミノーブノードの男。私の翡翠のテンプレートでは...このインターフェースを持てるようになりたいです:
if currentUser.isMemberOfGroup(name)
-// dosomething
ただし、ユーザーのメンバーシップを決定するには、マングースとのインターフェースが必要です...これは常に非同期の作業です。例としてマングースのドキュメントを使用すると、これらの行に沿って何かを書きたいと思います(すみません、これはコーヒーで書かれています):
userSchema.methods.isMemberOfGroup = (name) ->
Club.findOne(name: name).populate({
path: 'members',
model: 'User',
match: { _id: @id }
}).exec (err, club) ->
club.members.length > 0
このメソッドが exec 関数からすぐに戻るのではなく bool を返すようにする方法はありますか? そのようなインターフェースを設計する「正しい」方法は何ですか?
Club モデルの残りの部分は次のとおりです。
clubSchema = Mongoose.Schema
name: String
hashTag: String
members: [{ type: Mongoose.Schema.Types.ObjectId, ref: 'User' }]