在 Meteor 和 mongodb 中处理嵌套字典
Handling nested dictionaries in Meteor and mongodb
我有以下结构:
{
game_number: 101,
type: 1,
players: ["x1","x2","x3"],
scores: [
{ "x1" : 0 },
{ "x2" : 1 }
]
}
有一个 游戏,其中有 3 玩家 正在玩。玩家 x1 和 x2 已经完成并获得了最终分数。玩家 x3 尚未完成。我的想法是检查此结构中的 scores 并查看谁已经完成,这样我就可以在 Meteor 中使用类似的东西:
{{#if playerHasFinished player}}
<div class="result">
...
</div>
{{else}}
<div class="waiting">
...
</div>
{{/if}}
我不确定我的数据结构是否正确,所以那里可能是我的"functional"错误,但无论如何应该可以做到,对吧?我将如何访问该数据?
如果您要求实现 playerHasFinished
,这里有一个示例:
Template.myTemplate.helpers({
playerHasFinished: function(player) {
// get the current game - modify as appropriate
var game = Games.findOne(Session.get('curentGame'));
// ['x1', 'x2']
var finishedPlayers = _.keys(scores);
// this assumes player is a string like 'x3'
return _.contains(finishedPlayers, player);
}
});
我有以下结构:
{
game_number: 101,
type: 1,
players: ["x1","x2","x3"],
scores: [
{ "x1" : 0 },
{ "x2" : 1 }
]
}
有一个 游戏,其中有 3 玩家 正在玩。玩家 x1 和 x2 已经完成并获得了最终分数。玩家 x3 尚未完成。我的想法是检查此结构中的 scores 并查看谁已经完成,这样我就可以在 Meteor 中使用类似的东西:
{{#if playerHasFinished player}}
<div class="result">
...
</div>
{{else}}
<div class="waiting">
...
</div>
{{/if}}
我不确定我的数据结构是否正确,所以那里可能是我的"functional"错误,但无论如何应该可以做到,对吧?我将如何访问该数据?
如果您要求实现 playerHasFinished
,这里有一个示例:
Template.myTemplate.helpers({
playerHasFinished: function(player) {
// get the current game - modify as appropriate
var game = Games.findOne(Session.get('curentGame'));
// ['x1', 'x2']
var finishedPlayers = _.keys(scores);
// this assumes player is a string like 'x3'
return _.contains(finishedPlayers, player);
}
});