2013-07-03 57 views
2

我有一个bash脚本,从中运行js文件,负责使用新字段更新表,如果它不存在。MongoDB:无法加载js文件

但在执行bash脚本时,出现以下错误。

Wed Jul 3 00:05:18 Error: error doing update (anon):1552 
failed to load: logincount.js 

这是一个简单的js文件,该文件将更新一个名为截至昨日userCollection表场内

var d = new Date(); 
    var curr_date = d.getDate()-1; 
    var curr_month = d.getMonth() + 1; 
    var curr_year = d.getFullYear(); 
    var yesterday = curr_year + "-" + curr_month + "-" + curr_date; 
    db.userCollection.update({yesterday : {$exists : false}}, {$set: {yesterday : yesterday}},false,true) 

请让我知道,如果有任何不妥以上的js文件,究竟是什么原因这个错误?

请指点,谢谢提前

还有一件事我已经忘了更新,如果我删除最后一行,下面的线

db.userCollection.update({yesterday : {$exists : false}}, {$set: {yesterday : yesterday}},false,true) 

它不会抱怨什么。我想,如果提交昨天应该是全球性的或什么?如果是的话,我怎样才能使该领域的全球?

+1

你是如何加载文件?你能告诉我们你在bash中使用的代码来实际加载文件吗? – Sammaye

+0

我的脚本文件只包含这一行mongo $ TECH_MONG_LOC/at logincount.js – Kiran

+0

切线方向,昨天可能会更清洁,如下所示:var d = new Date(); d.setDate(d.getDate() - 1); var yesterday = d.getFullYear()+“ - ”+(d.getMonth()+ 1)+“ - ”+ d.getDate()' - 您的方法将于8月1日返回“2013-8-0”。 –

回答