Meteor mongodb将数字另存为';楠';

Meteor mongodb将数字另存为';楠';,mongodb,meteor,Mongodb,Meteor,我使用以下方法将任务添加到mongo。但是,“秩”在数据库中一直保存为“NaN” addTask:函数(数据){ var数据=数据|{}; data.createdAt=新日期(); data.status=data.status | | null; data.owner=Meteor.userId(); var userID=Meteor.userID(); //获取所有未检查任务的最低等级 minRank=Tasks.find({status:null},{sort:{rank:1}}).f

我使用以下方法将任务添加到mongo。但是,“秩”在数据库中一直保存为“NaN”

addTask:函数(数据){
var数据=数据|{};
data.createdAt=新日期();
data.status=data.status | | null;
data.owner=Meteor.userId();
var userID=Meteor.userID();
//获取所有未检查任务的最低等级
minRank=Tasks.find({status:null},{sort:{rank:1}}).fetch();
data.rank=minRank.length>0?minRank[0]。秩-1:0;
任务。插入(数据);
}
我已经使用console.log来确认data.rank是一个数字,并且我已经在页面上打印了排名,在服务器捕捉到客户端并将其更改为NaN之前,它在UI中短暂闪烁为正确的数字

有什么想法吗?

发现任务。find()在服务器上返回的结果与在客户端上返回的结果不同

在服务器上,它返回任何用户拥有的任务的结果,而作为客户端,它只返回当前用户拥有的结果,因为这是它可以访问的全部内容


在我的例子中,服务器端排名最低的结果没有排名,因此返回为NaN

undefined-1
NaN
非常确定
minRank[0]。rank
undefined
。当您记录
minRank[0]
数据时(就在将其插入集合之前),您会得到什么?@datacarl-这是令人困惑的部分。日志将这两个值显示为正确的数字。这就是为什么我认为服务器端代码和客户端代码之间一定有一些区别。