这里是一个半菜鸟节点的家伙。在我的翡翠模板中......我真的很想能够拥有这个界面:
if currentUser.isMemberOfGroup(name)
-// dosomething
但是,确定用户的成员资格涉及与 mongoose 的交互……这始终是异步的。以猫鼬文档为例,我想按照这些思路写一些东西(对不起,这是用咖啡写的):
userSchema.methods.isMemberOfGroup = (name) ->
Club.findOne(name: name).populate({
path: 'members',
model: 'User',
match: { _id: @id }
}).exec (err, club) ->
club.members.length > 0
有没有办法让这个方法返回一个 bool 而不是从 exec 函数立即返回?设计这样一个界面的“正确”方式是什么?
这是 Club 模型的其余部分:
clubSchema = Mongoose.Schema
name: String
hashTag: String
members: [{ type: Mongoose.Schema.Types.ObjectId, ref: 'User' }]