我正在编写关于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”集合。我不确定我做错了什么,看起来应该很简单。提前谢谢。
答案 0 :(得分:2)
即使你在你的应用程序中声明了一个新的集合,Meteor实际上也不会在mongodb中“创建”一个集合,直到你主动插入一些东西。仍然你的应用程序的行为就像它在商店里有一个空集合。
因此,为了“看到”mongo中的集合,您需要通过mongo客户端或meteor应用程序在集合中插入数据。或者您可以使用mongo手动创建集合。 (但在多大程度上......)