Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 流星火焰模板助手等待集合查找;选择DISTINCT";_Javascript_Meteor - Fatal编程技术网

Javascript 流星火焰模板助手等待集合查找;选择DISTINCT";

Javascript 流星火焰模板助手等待集合查找;选择DISTINCT";,javascript,meteor,Javascript,Meteor,此Meteor客户端代码需要按字段“category”对mongo集合中的文档进行分组,并返回字段“category”的唯一值的排序数组。我正在使用Blaze template helper,它返回一个由集合填充的数组。find.foreach,因为我找不到关于如何聚合客户端的mongo集合的简单示例,如何让helper等待集合操作准备就绪?谢谢 “作业”:函数(){ 让类别=[] Jobs.find({}).forEach((doc)=>{ 如果(!categories.includes(单

此Meteor客户端代码需要按字段“category”对mongo集合中的文档进行分组,并返回字段“category”的唯一值的排序数组。我正在使用Blaze template helper,它返回一个由
集合填充的数组。find.foreach
,因为我找不到关于如何聚合客户端的mongo集合的简单示例,如何让helper等待集合操作准备就绪?谢谢

“作业”:函数(){
让类别=[]
Jobs.find({}).forEach((doc)=>{
如果(!categories.includes(单据类别))categories.push(单据类别)
})
returncategories.sort()

}
所有给定的代码都不需要Mongo的聚合函数,但可以通过正常的查询功能解决:

如果(!categories.includes(doc.category))
可以使用
$in
操作符解决,而
排序()
可以使用
排序
转换操作解决:

“作业”:函数(){
返回Jobs.find({category:{$in:categories}},{sort:{categories:1}})
},
返回的值是一个
Mongo.Cursor
,它将触发对更改的反应

阅读资料:


此解决方案需要填充的数组
categories
,该数组为空,因此不起作用。我用一个例子更新了我的帖子,我所需要的只是字段“category”的唯一值,而事先不知道它们。看来你是在问
如何让助手等到收集操作准备就绪?
。您能解释一下为什么这是您试图解决的问题,或者它的行为不符合您的要求吗?
returncategories.sort()
返回未定义的。不,它没有。至少不需要,除非您在其他地方(未显示)添加了影响
Array.prototype.sort
实现的代码<代码>返回值:排序后的数组。不返回
未定义的
。是。你说得对。问题解决了。非常感谢。