我使用以下出版物来汇总我的产品的有效试用版:
Connection conn;
Boolean mysqlStatus = false;
while(mysqlStatus.equals(false)) {
try {
Class.forName(driver).newInstance();
conTest = DriverManager.getConnection(host + dbName, username, password);
mysqlStatus = true;
} catch (SQLException e) {
// server offline
Alert alert = new Alert(AlertType.CONFIRMATION);
alert.setTitle("Database offline");
alert.setHeaderText("De MySQL database server is offline");
alert.setContentText("Start de server en probeer opnieuw.");
ButtonType buttonTypeOne = new ButtonType("Opnieuw controleren");
ButtonType buttonTypeCancel = new ButtonType("Exit", ButtonData.CANCEL_CLOSE);
alert.getButtonTypes().setAll(buttonTypeOne, buttonTypeCancel);
Optional<ButtonType> result = alert.showAndWait();
if (result.get() == buttonTypeOne){
mysqlStatus = false;
alert.close();
} else {
System.exit(0);
}
} catch (Exception e) {
mysqlStatus = false;
ExceptionDialog cexD = new ExceptionDialog();
cexD.setStrError("Er is een onverwachte fout opgetreden.");
cexD.setException(e);
} finally {
try {
conTest.close();
} catch (SQLException e) {
mysqlStatus = false;
ExceptionDialog cexD = new ExceptionDialog();
cexD.setStrError("Er is een onverwachte fout opgetreden.");
cexD.setException(e);
}
}
}
结果抛出以下对象
Meteor.publish('pruebasActivas', function() {
var pruebasActivas = Clientes.aggregate([
{
$match: {
'saldoPrueba': {
'$gt': 0
}
}
}, {
$group: {
_id: {
id: '$_id',
cliente: '$cliente'
},
totalPruebas: {
$sum: '$saldoPrueba'
}
}
}
]);
});
if (pruebasActivas && pruebasActivas.length > 0 && pruebasActivas[0]) {
return this.added('aggregate3', 'dashboard.pruebasActivas', pruebasActivas);
}
使用Blaze如何使用Objects迭代此数组以显示“cliente”和“totalPruebas”?
答案 0 :(得分:1)
让自己成为帮助者,只使用未命名为_id
的顶级键将对象转换为对象数组:
Template.myTemplate.helpers({
pruebasActivas: function(){
var ob = myCollection.findOne(); // assuming your collection returns a single object
var clientes = [];
for (var p in ob){
if (ob.hasOwnProperty(p) && p !== "_id"){
// here we flatten the object down to two keys
clientes.push({cliente: ob[p]._id.cliente, totalPruebas: ob[p].totalPruebas});
}
}
return clientes;
}
});
现在大火你可以做:
<template name="myTemplate">
{{#each pruebasActivas}}
Cliente: {{cliente}}
Total Pruebas: {{totalPruebas}}
{{/each}}
</template>