为什么可以't我将检索到的文档分配给控制台中的变量
Why can't I assign a retrieved document to variable in console
只需学习Meteor,同时思考javascript。
我已经定义了一个集合,并且能够使用.findOne():通过控制台命令成功检索文档
myCollection.findOne({elementID: "avatar"});
然而,当我找到它并将其分配给一个变量时,它会返回未定义的:
var elementObject = myCollection.findOne({elementID: "avatar"});
编辑:var elementObject = myCollection.findOne({elementID: "avatar"});
返回undefined
后,我在控制台中再次运行elementObject
,它返回正确的值。所以最终它是有效的,但在第一次尝试时没有显示出来。了解原因会很好。
当您在控制台中运行第二段代码时,您只看到单词undefined,并认为它返回了undefined。但事实并非如此。如果第一个语句有效,那么第二个语句也将有效。因此,在运行第二行之后,只需键入elementObject
并在控制台中按enter键。现在,您将能够看到分配给变量的实际值。
您的订阅尚未准备好。您的变量不会等到它从查询中得到结果。你必须做一些类似的事情
{{#if YOURHELPER}} template code {{/if}}
或者使用waitOn的Iron路由器。以便在所有内容都存在时渲染模板。
https://github.com/iron-meteor/iron-router/blob/devel/Guide.md#the-等待选项
相关文章:
- 使用promise和mongoose对文档进行排序
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- Ajax请求文档就绪会导致jquery加载缓慢
- MongoDB (php) - 以数组而不是多个属性的形式返回文档属性
- 谷歌文档表面引擎
- 来自文档或下一个静态父级的事件委派
- 如何将childNodes用于XML文档
- 文档就绪提供了错误的选择器高度
- 将当前用户的 ID 推送到 meteorjs 中集合/文档的内部数组
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- BrowserId登录请求在文档加载时被调用
- 从Javascript和Php变量创建Html模板文档
- 如何通过谷歌应用程序脚本从谷歌文档中的位置确定命名范围
- 为什么可以't我将检索到的文档分配给控制台中的变量
- 如何在文档就绪 .fileupload 中分配值
- 自动将我上传的文档分配给内容类型
- 阻止删除在准备就绪的文档上分配的处理程序
- 为什么将其他对象分配给内置对象(例如文档、窗口)没有意义
- 获取与父字段一起分配的所有文档
- 动态分配给文档.getElementById从数组字符串