0

我正在将 SpagoBI 与 MongoDB 一起使用。就像链接 [1] 中提到的那样,我可以在我的 MongoDB 数据库上使用脚本 .js 来获取结果。我需要做的是合并以下两个查询结果:

var query1=db['cygnus_/kurapath_enocean_switch2a_enocean'].find().sort({ recvTime : -1 }).limit(1) ;
var query2 = db['cygnus_/kurapath_enocean_switch2b_enocean'].find().sort({ recvTime : -1 }).limit(1);

如果我把类似的东西

var query= query1 + query2;

我得到了错误:

query has no method 'forEach' at serializeResult 

任何想法如何做到这一点?在此先感谢您的帮助!

[1] http://wiki.spagobi.org/xwiki/bin/view/spagobi_server/data_set

4

1 回答 1

1

尝试

var results = query1.toArray().concat(query2.toArray());

这里发生的toArray()是用于将结果光标转换为标准的 Javascript 文档数组(在这种情况下,数组只有一个条目,因为您使用了limit(1))。然后使用标准 Javascript 数组方法concat将一个数组附加到另​​一个数组并将其存储在新数组results中。

然后可以根据需要使用该数组。

于 2015-08-20T14:15:42.047 回答