我在尝试从 Meteor Collection 获取数据时遇到了一些问题,我需要一些建议。
该集合已成功定义、发布和订阅。如果我将数据发送到模板,它会显示正常:
Template.Lists.Projects = function(){
return Projects.find();
};
但我试图在显示数据之前使用它,这就是我遇到问题的地方。首先,我发现 find() 和 findOne() 之间有些不一致。find(selector) 工作正常并返回一个游标,但 findOne(selector) 返回“未定义”。我真的只是在寻找 1 个条目,所以 find() 似乎没有必要。
返回 LocalCollection.Cursor:
var find = Projects.find({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
console.log(find);
返回未定义:
var find = Projects.findOne({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
console.log(find);
在 LocalCollection.Cursor 上使用 .fetch() 时会出现下一个问题。它返回一个空数组。
var find = Projects.find({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
var fetch = find.fetch();
console.log(fetch);
所有这些返回都是以下行:
[ ]
当我尝试从要显示的数组中指定特定键时,例如:
var find = Projects.find({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
var fetch = find.fetch();
console.log(fetch.name);
它返回未定义。
我仍然熟悉 Meteor 并且从未使用过 MongoDB(或 minimongo),所以我可能只是犯了一些愚蠢的错误。如果有人可以向我指出,我会很激动!