如何使用meteor.js从MongoDB Collection Object中正确检索数字数组?
在代码中,我的alert(temp)
假设输出一个加起来的数字,如5.95 + 5.95 + 5.95 = 17.85,但输出为0[object Object][object Object][object Object][object Object][object Object][object Object][object Object]
,这意味着我没有正确地将对象转换为数字格式。请告诉我如何将对象转换为可以添加它们的数字。
Tasks = new Mongo.Collection("tasks");
if (Meteor.isClient) {
Template.price6.events({
'click a': function () { // in my page, i clicked this multiple times to insert 3 time 5.95 into the Mongodb object.
Tasks.insert({
text: 5.95,
createdAt: new Date() // current time
});
}
});
Meteor.methods({
GetTotal: function () {
var postsArray = Tasks.find().fetch(); // it will fetch the numbers into an array according to the meteor.js doc
var temp = 0.00;
for (index = 0; index < postsArray.length; index++) {
temp += postsArray[index];
}
alert(temp);//suppose to be a number but the output result is weird 0[object][object].....
},
});
}
答案 0 :(得分:0)
事件处理程序插入到Tasks
集合对象中,如下所示:
{
text: 5.95,
createdAt: new Date() // current time
}
当您回溯记录时,&#34;文本&#34; (如果您只在该属性中存储数字,这是一个误导性的名称)将是Tasks.find().fetch()
数组的每个元素的关键,因此请在您的代码中添加.text
:
for (index = 0; index < postsArray.length; index++) {
temp += parseFloat(postsArray[index].text);
}