【问题标题】:Mongo Shell print is not displaying?Mongo Shell 打印不显示?
【发布时间】:2017-10-20 16:08:49
【问题描述】:

所以我试图将一个简单的逗号分隔列表与我的集合中的文档进行比较。这是我的代码:

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 中弹出任何内容。它至少应该打印“不正确”,对吧?

【问题讨论】:

  • 你检查过你是否真的进入了循环吗?或者 skus 可能是空的,例如因为 csv 文件为空或无法读取?
  • 我可以打印文件和 skus,它们都已填充。如果这很重要,我正在通过 robomongo 执行此操作?但它可能不会击中它,因为没有任何东西在打印。我根本不知道为什么它没有进入循环......

标签: mongodb shell robo3t


【解决方案1】:

如果进入循环并且skus集合不为空,那么如果你拼错了你尝试查询的模型的集合名称,就会发生这种情况(我不时看到有人用camelCase写集合名称)。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-21
    • 2014-04-29
    • 2014-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多