流星集合find()不检索任何数据

Tim*_*kiy 5 javascript mongodb meteor

我正在研究流星教程:https : //www.meteor.com/tutorials/blaze/collections

我定义了一个收藏集

Tasks = new Mongo.Collection("tasks");
Run Code Online (Sandbox Code Playgroud)

我在其中添加了两项,一项直接从流星mongo命令行使用,另一项使用:

Tasks.insert({ text: "Testing JS", createdAt: new Date() });
Run Code Online (Sandbox Code Playgroud)

以下是在后端运行db.tasks.find()的结果:

{ "_id" : ObjectId("559e9569abbb64fe1d5fd89a"), "text" : "Hello world!", "createdAt" : ISODate("2015-07-09T15:38:17.742Z") }
{ "_id" : "obRN8Rcssa9yJqXzA", "text" : "Testing JS", "createdAt" : ISODate("2015-07-09T17:00:13.285Z") }
Run Code Online (Sandbox Code Playgroud)

但是当我运行Tasks.find({});时 在前端,我得到的结果是空的。它只是给了我很长的JSON,但没有数据库中的数据。

Dav*_*don 3

在meteor中,您可以通过调用游标上的fetch来查看游标返回的文档。例如:

console.log(Tasks.find().fetch());
Run Code Online (Sandbox Code Playgroud)

  • 是的。然后还有其他事情发生。我注意到在你的例子中,你有对象 ID 而不是字符串(meteor 的默认值)。您是否托管自己的数据库,而不是使用 Meteor 为您创建的默认数据库?如果是这样,我怀疑问题是流星没有连接到它。 (2认同)