Node.js 猫鼬-不同的语法
有人能告诉我这个猫鼬查询是否可以简化或写得更透明。请举例说明:Node.js 猫鼬-不同的语法,node.js,mongoose,Node.js,Mongoose,有人能告诉我这个猫鼬查询是否可以简化或写得更透明。请举例说明: 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
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);
});
谢谢 您是否尝试只使用
查找
查询?像这样:
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);
});
@避免我没有得到什么错误,你能尝试重新表述你的评论吗?在这种查询中,定义的第一条规则,在本例中为“game.players.id”,将是搜索所有其他规则的主要规则。“search game.player.id where game.player.game.rules.gameType”。什么“search game.player.id where game.player.game.rules.gameType”这意味着您正在尝试检索满足其他查询的
game.player.id
的值。否则,您可以简单地将查询字段从'game.rules.gameType'
修改为'game.player.game.rules.gameType'
等。从另一个角度看,这个解决方案似乎很好。你面临什么问题?