我遇到了一个集合问题。
仅在客户端显示为空。请参阅以下已被删除的内容:
MyCollection = new Meteor.Collection("mycollection");
if (Meteor.isServer) {
var result = MyCollection.find({name: 'MyName'}, {limit: 25}).fetch();
console.log(result);
}
if (Meteor.isClient) {
var result = MyCollection.find({name: 'MyName'}, {limit: 25}).fetch();
console.log(result);
}
我可以从服务器代码中看到结果是正确的,但不是客户端。我错过了什么?
答案 0 :(得分:1)
假设您尚未删除autopublish
或者您正在发布和订阅,那么您可能在从服务器接收数据之前运行客户端代码。试试这个:
if (Meteor.isClient) {
Deps.autorun(function() {
var result = MyCollection.find({name: 'MyName'}, {limit: 25}).fetch();
console.log(result);
});
}
您可能会在客户端上记录一个空结果,然后是正确的结果(在客户端收到数据并重新运行自动运行功能之后)。