javascript - Mongo文档到数组

标签 javascript mongodb meteor toarray

我正在从 Meteor 中的 MongoDB 获取文档,如下所示:

Template.SubTasks.helpers ({
   subelement: function (){


      var sublen = TodosCol.find(this);
      // var sublen2 = ????

      return sublen2;
  }


});

效果很好,sublen 作为对象返回。但是当我尝试将其转换为数组时(例如:

var sublen2 = sublen.toArray();

var sublen = TodosCol.find(this).toArray();

或整个集合(没有“this”),它不起作用,我在 chrome 控制台中收到“undefined is not a function”错误。

我也试过

var sublen2 = sublen.propertyName;

因为它是一个对象,没有运气。

我做错了什么?

谢谢

编辑:

我正在尝试迭代存储在 mongo 文档中的数组中的值。我想将它们作为单独的 div 输出。这是一个简单的任务列表。任务迭代得很好,但我正在尝试输出分配给特定任务的子任务。子任务作为字符串数组存储在与其“父任务”相同的文档中。

模板:

<template name='SubTasks'>
    <div class='sub-output {{_id}}'>
        {{#each subelement}}
            <div class='sub-task {{_id}}'>
                {{subtask}}
             </div>
        {{/each}}
    </div>
</template>

最佳答案

如果 TodosCol 是一个集合,那么它的 .find() 方法返回一个 Cursor - http://docs.meteor.com/#/basic/Mongo-Collection-find .游标可用于使用 {{each}} 高效且响应式(Reactive)地遍历结果。

如文档所述,如果您想要 find() 调用的结果,您需要调用 .fetch() - 在 http://docs.meteor.com/#/full/mongo_cursor 了解更多信息

关于javascript - Mongo文档到数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27166856/

相关文章:

javascript - CSRF/CSRF 安全 REST 调用的最佳实践?

javascript - Meteor/React - Material UI 组件芯片无法识别 onRequestDelete 函数

ios - Meteor/Cordova/Phonegap iOS 应用程序在部署到生产环境时无法正常工作

meteor - 动态将文件插入 meteor 公用文件夹而不隐藏它

javascript - 如何连续滚动开始 mousedown 直到 mouseup?

Javascript动态正则表达式解析

javascript - 将 li 列表制作成在 javascript 中不起作用的列

node.js - mongoose document.validate 从 4.4x 更新到 ^4.5.1 后抛出 RangeError

python - 如何解压mongo日志文件

node.js - 使用 Redis 缓存 mongoose 对象