2017-02-27 7 views
0

このマングースクエリを単純化したり、より明瞭に書くことができるかどうか誰かに教えてもらえますか?例を挙げてください:マングース - 別の構文

Game.where('game.players.id', user).where('game.rules.gameType', GameTypeEnum.x01) 
    .where('game.rules.quatro', rules.quatro).where('game.rules.score', rules.score) 
    .where('game.rules.parcheesi', rules.parcheesi).where('game.rules.runAndGun', rules.runAndGun) 
    .where('game.rules.playOff', rules.playOff).where('game.rules.doubleIn', rules.doubleIn) 
    .where('game.rules.doubleOut', rules.doubleOut).where('game.rules.masterOut', rules.masterOut) 
    .where('game.rules.equalOption', rules.equalOption).where('game.rules.endOption', rules.endOption) 
    .where('game.rules.teamRules', rules.teamRules).find({}, function(err, data) { 
    deferred.resolve(data); 
}); 

ありがとうございます!

答えて

0

findクエリを使用しましたか?ように:

Game 
    .find({ 
    'game.players.id': user, 
    'game.rules.gameType': GameTypeEnum.x01, 
    'game.rules.quatro': rules.quatro, 
    'game.rules.score': rules.score, 
    'game.rules.parcheesi': rules.parcheesi, 
    'game.rules.runAndGun': rules.runAndGun, 
    'game.rules.playOff': rules.playOff, 
    'game.rules.doubleIn': rules.doubleIn, 
    'game.rules.doubleOut': rules.doubleOut, 
    'game.rules.masterOut': rules.masterOut, 
    'game.rules.equalOption': rules.equalOption, 
    'game.rules.endOption': rules.endOption, 
    'game.rules.teamRules': rules.teamRules 
    }) 
    .exec(function(error, data) { 
    deferred.resolve(data); 
    }); 
+0

@AVoid私は何が間違っていないか、あなたのコメントを言い換えることができますか? –

+0

このようなクエリでは、定義されている最初のルール(この場合は 'game.players.id')が他のすべてのルールが検索される主なルールになります。 "search game.player.id where game.player.game .rules.gameType " – Avoid

+0

「game.player.idのgame.player.game.rules.gameTypeを検索する」とは、他のクエリを満たす 'game.player.id'の値を取得しようとしていることを意味します。 –