在Javascript中与集合交互

时间:2018-03-28 16:54:25

标签: mongodb meteor

我开始使用Meteor,沿途发现了mongodb。

我有一个名为Chansons的系列。

export const Chansons = new Mongo.Collection('chansons');

用户可以使用按钮将元素添加到集合中。

Template.search.events({
  'click #Ajouter' : function(){
    const vidURL = document.getElementById("URL").value;
    Chansons.insert({
      URL : vidURL
    });

我怎么能在代码中获取一个包含集合中元素的所有URL的数组?结果与我正在做的相同

db.chansons.find({},{URL:1,_id:0})

在终端。我确定这是相当基本的,但我在网上的所有文档中都有点遗失。

2 个答案:

答案 0 :(得分:1)

您可以在浏览器控制台中运行类似的命令:

Chansons.find({},{fields: {URL:1,_id:0}})

或者您可以在辅助方法中返回它:

Template.search.helpers({
  'data'() { return Chansons.find({},{fields: {URL:1,_id:0}}) }
})

然后在Blaze模板中使用它

<ul>
   {{#each d in data}}
     <li> {{d.URL}} </li>
   {{/each}}
</ul>

答案 1 :(得分:1)

为此,您可以使用cursor.map方法。

const URLs = Chansons.find({},{ fields: { URL: 1, _id: 0 } }).map((chanson) => chanson.URL);