MongoDB: 如何在脚本中获取两个集合的最后一个值?
MongoDB: how to get the last values of two collections in a script?
我在 MongoDB 中使用 SpagoBI。
就像 link [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
尝试
var results = query1.toArray().concat(query2.toArray());
这里发生的是 toArray()
用于将结果游标转换为标准 Javascript 文档数组(在本例中数组只有一个条目,因为您使用了 limit(1)
) .然后使用标准的Javascript数组方法concat
将一个数组附加到另一个数组并将其存储在新数组results
.
中
这个数组可以随心所欲地使用。
我在 MongoDB 中使用 SpagoBI。 就像 link [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
尝试
var results = query1.toArray().concat(query2.toArray());
这里发生的是 toArray()
用于将结果游标转换为标准 Javascript 文档数组(在本例中数组只有一个条目,因为您使用了 limit(1)
) .然后使用标准的Javascript数组方法concat
将一个数组附加到另一个数组并将其存储在新数组results
.
这个数组可以随心所欲地使用。