未在后端创建Meteor Collection

时间:2015-07-09 15:00:31

标签: mongodb meteor

我正在编写关于Meteor的教程,据我所知,这应该在Meteor的Mongo实例中创建一个集合:

// simple-todos.js
Tasks = new Mongo.Collection("tasks");

if (Meteor.isClient) {
  // This code only runs on the client
  Template.body.helpers({
    tasks: function () {
        console.log(Tasks.find({}));
        return Tasks.find({}, {sort: {createdAt: -1}});
    }
  });
}

我查看了类似的帖子,但他们在客户端代码块中创建了集合,因此我将其作为全局变量移动。

当我查看mongo的后端时,我看到只收集了“system.indexes”集合。我不确定我做错了什么,看起来应该很简单。提前谢谢。

1 个答案:

答案 0 :(得分:2)

即使你在你的应用程序中声明了一个新的集合,Meteor实际上也不会在mongodb中“创建”一个集合,直到你主动插入一些东西。仍然你的应用程序的行为就像它在商店里有一个空集合。

因此,为了“看到”mongo中的集合,您需要通过mongo客户端或meteor应用程序在集合中插入数据。或者您可以使用mongo手动创建集合。 (但在多大程度上......)