【发布时间】:2015-04-06 06:43:18
【问题描述】:
我正在使用上面的包来创建一个标签系统。我使用了上面链接中的True Input Value 中的<select multiple>,并将每个标签作为Strings 插入到tag array 中。
这就是我的数据库的样子。
Posts
tags //Array
[0] : sometag //String
[1] : sometag //String
[2] : sometag //String
//and so forth..
所以我的问题是... 我想将帖子中的所有标签恢复为以下格式,以便在我的用户尝试编辑他们的帖子时重复使用它来显示标签。
想要的格式
['sometag', 'sometag', 'sometag', and so forth]
编辑1
这是我到目前为止所做的。
Post_Edit.js
Template.postEdit.rendered = function() {
myTags = Posts.findOne({_id: this._id}).tags.fetch(); //AAA
$('.tagsinput').tagsinput('add', myTags); //From above link API
}
我已经为//AAA 线尝试了其他方法,但我没有运气。我尝试过诸如Posts.findOne.map... 之类的东西,也许我的英语理解达不到标准,但流星中的文档并没有帮助我理解更好。
编辑 2
Posts.findOne({_id: "ziZw3wLaxFyz3DYP4"}).tags
我已经尝试将它放在浏览器控制台中,并以我想要的格式获得数组。
但问题是,当我使用它时,它在我的应用程序中不起作用。
当我在 postEdit.rendered 中使用 Posts.findOne({_id: this._id}).tags 时,我收到此浏览器控制台错误。 Cannot read property 'tags' of undefined
Post_Edit.js
Template.postEdit.rendered = function() {
myTags = Posts.findOne({_id: this._id}).tags;
$('.tagsinput').tagsinput('add', myTags); //From above link API
}
我不明白为什么它可以在浏览器控制台中运行,而不是我的 Template.postEdit.rendered?
【问题讨论】:
-
您尝试过什么来实现这一目标?你做了什么研究?现在看起来你只是要求解决方案而不是自己投资。
-
@Kyll 我在过去的几个小时里一直在尝试解决这个问题。我将更新我的问题,以便展示我未能实现的目标。我没有在这里输入我的意见,因为我很确定我走错了方向。
-
谢谢。这对我们来说非常重要。即使你认为你走错了路,它也会表明你已经在这件事上进行了投资(因此不仅仅是要求免费代码),我们可以看到你的推理,哪里出了问题以及为什么,并重定向你到更好的方式。它还可以帮助未来的读者从你的失败中吸取教训!
-
@Kyll 感谢您的指点。从现在开始,我也会为将来的问题这样做。我不久前才开始编程,我正在一个不像其他国家那样偏爱流星或新技术的国家自学。这里 90% 的人使用 php 和 mysql。我总是很高兴在 Stackoverflow 中得到答案!
-
当您尝试对其进行查询时,
Posts集合可能还没有准备好......但在这种情况下,Posts.findOne({_id: this._id}).tags会抛出。那么它会抛出吗?
标签: javascript jquery arrays mongodb meteor