客户端 meteor 集合为空

标签 meteor

我在收藏方面遇到问题。

仅在客户端为空。请参阅以下已被删除的内容:

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);
}

我可以从服务器代码看到正确的结果,但从客户端看不到。我错过了什么?

最佳答案

假设您尚未删除自动发布或者您正在正确发布和订阅,则您可能会在客户端代码从服务器接收到数据之前运行客户端代码。试试这个:

if (Meteor.isClient) {
  Deps.autorun(function() {
    var result = MyCollection.find({name: 'MyName'}, {limit: 25}).fetch();
    console.log(result);
  });
}

您可能会在客户端上记录一个空结果,随后不久就会出现正确的结果(在客户端收到数据并重新运行自动运行函数之后)。

关于客户端 meteor 集合为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23316511/

相关文章:

javascript - Uploadcare 上传图像输入未使用 Meteor 显示

javascript - ES6 导入的安全方面 - 在 Meteor 的客户端使用

templates - meteor :检测嵌套模板中的事件

javascript - Typescript 设置 w/Meteor 1.5 - 找不到模块 Meteor/meteor

javascript - meteor /蒙戈 : Finding and updating certain elements in a collection

meteor - 如何在 Meteor 中发布集合的 View /转换?

unit-testing - meteor 代码是否有效地单元测试?

javascript - 解析 JSON 对象数组 - 空值阻止更新插入

javascript - 开始使用 Meteor : Show/Hide Templates on click

meteor - 如何使 minimongo.js 在浏览器中工作?