2017-03-15 74 views
0

所以我想比较一个简单的逗号分隔列表与我的集合中的文档。这是我的代码:Mongo Shell打印不显示?

var file = cat("Price Level V.csv"); 
var skus = file.split("\n"); 
for(var i = 0; i < skus.length; i++) { 
    var vasku = skus[i].split(','); 
    db.getCollection('skus').findOne({sku:vasku[0]}, function(err, mydoc) { 
     if(err) 
      print(err); 

     if(mydoc == null) { 
      print('NF'); 
     } else if(mydoc.VA == vasku[1]) { 
      print('Correct'); 
     } else { 
      print('Incorrect'); 
     } 
    }); 
} 

出于某种原因,我没有看到shell中弹出的所有打印语句。它至少应该打印'不正确',对吧?

+1

你是否检查过你是否真的进入循环?或者可能是空的,例如因为csv文件是空的或无法读取? – Bartez

+0

我可以打印文件和skus,并且它们都被填充。如果这很重要,我是通过robomongo来做到这一点的?但它可能没有打印,因为没有打印。我只是不知道它为什么不进入循环... – Michael

回答

0

如果输入循环并且skus集合不是空的,那么如果拼错了您试图查询的模型的集合名称(我偶尔会看到有人在其中写入集合名称时会发生这种情况骆驼香烟盒)。

这是一个很长的镜头,但也许在数据库中的模型名称实际上是skuss(第二个'复数形式添加')?