如何在Meteor javascript中使用Mongodb填充下拉菜单?

时间:2015-06-23 11:46:52

标签: javascript mongodb meteor

有没有一种方法可以使用存储在Mongodb中的值填充下拉列表?例如,如果我有一个car对象,其color属性可能包含值black', 'redblue,我希望下拉列表包含这些值。我需要在Meteor javascript中执行此操作。

谢谢。

2 个答案:

答案 0 :(得分:7)

没有任何依赖关系,你只需

<select name="sss">
 {{#each colors}}
    <option>{{this}}</option>
{{/each}}
</select>

Template.mytemplate.helpers({
   colors: function(){
    return Colors.find().map(function (doc) {
      return doc.name
    })
 }
});

答案 1 :(得分:2)

最简单,最干净的方法是使用aldeed:autoformautoform依赖于aldeed:simple-schemacollection2。使用这些包,您可以这样做:

Cars = new Mongo.Collection('Cars')

Cars.attachSchema({
  color: {
    type: String,
    allowedValues: ['red', 'black', 'green']
  }
})

现在让我们假设您有一个名为Colors的集合,所有这些文档的值都为name

function getColors () {
  return Colors.find().map(function (doc) {
    return doc.name
  })
}

Cars.attachSchema({
  color: {
    type: String,
    allowedValues: getColors()
  }
})