我正在使用以下方法向mongo添加任务。然而,'rank'继续作为'NaN'保存在db中。
addTask: function (data) {
var data = data || {};
data.createdAt = new Date();
data.status = data.status || null;
data.owner = Meteor.userId();
var userID = Meteor.userId();
// Get the lowest rank for all non-checked tasks
minRank = Tasks.find({status: null}, {sort: {rank: 1}}).fetch();
data.rank = minRank.length > 0 ? minRank[0].rank - 1 : 0;
Tasks.insert(data);
}
我已经使用console.log来确认data.rank是一个数字而且我在页面上打印了排名,在服务器赶到客户端并更改它之前,它在UI中作为正确的数字短暂闪烁到NaN。
有什么想法吗?
答案 0 :(得分:0)
结果发现Tasks.find()在服务器上返回的结果与在客户端上返回的结果不同。
在服务器上,它是任何用户拥有的任务的返回结果,其中客户端仅返回当前用户拥有的结果,因为它具有访问权限。
在我的情况下,服务器端排名最低的结果没有排名,所以它以NaN的形式返回。