我们正在与Meteor建立一个网站。我有两个MongoDB集合。一个有技能的人:
[{ _id : id1 , name : "computing" } , { _id : id2 , name : "filming" } , ...]
和一个人:
[{ _id : id3 , name : "David" , knows : [...] } , { _id : id4 , name : "Laura" , knows : [...] } , ...]
'knows'是包含介于0和1之间的值的对象列表,用于描述用户对给定技能的了解程度:
大卫的'知道':[{ id : id1 , state : 0.81 } , { id : id2 , state : 0.32 }, ...]
我想向用户展示按州分类的技能。请记住,每个技能不一定列在每个用户的“已知”中,只有那些他们已经尝试学习的技能。
我该怎么做?
答案 0 :(得分:0)
这是一个让你入门的例子:
<强> HTML 强>
<template name="myTemplate">
{{#each people}}
<div class="person">
<div class="person-name">{{name}}></div>
{{#each skills}}
<div class="person-skill">{{name}}:{{state}}</div>
{{/each}}
</div>
</template>
<强> JS 强>
Template.myTemplate.helpers({
people: function() {
// Maybe Meteor.users.find()?
return People.find();
},
skills: function() {
// here the context is a person
return _.chain(this.knows)
.sortBy('state') // sort the skills in ascending order
.map(function(skill) {
var id = skill.id;
// join to the skills collection through `id`
var name = Skills.findOne(id).name;
return {name: name, state: skill.state};
});
}
});