mongodb中的Javascript示例

时间:2014-04-14 04:01:29

标签: javascript mongodb

我正在尝试编写一个javascipt,它将从文本文件中获取大量值,并将使用这些值来创建大量查询以查找字段。例如,文本文件中给出了2000个值,然后我试图从文件中读取值,它将使用每个值来执行每个查询。所以我没有得到如何编写它的概念,因为不可能单独编写2000个查询,请帮助

var values = new Array();
$.get('UserFile.txt', function(data){
        values = data.split('\n');
        console.log(value);
    db.students.find(CID:{$in[values]})
    });

这是我想要应用的概念,UserFile.txt有20000个值,它将使用这些值来查找它。此外,它还没有在shell中定义“$”

1 个答案:

答案 0 :(得分:0)

如果你实际上有一个可以为你加载文件内容的库,这个概念是合理的,所以如果你想要JavaScript,可能更适合于另一种语言实现或类似nodejs,而不是这样做mongo shell。

除此之外,唯一的问题是您使用$in运算符的语法,而应该是:

values = filecontent.split('\n'); // Somehow obtained from reading a file

db.students.find({ "CID": { "$in": values } });

这是因为进入values的任何内容都已经是该语言的本地数组,并且将被传递给$in的参数,该参数期望它的参数是一个数组。

传入一个非常大的数组可能不是最好的主意,你的总请求必须低于16MB BSON限制。因此,您可能需要将这些数组元素拆分为多个查询,但是以批量大小而不是单数形式,因此至少更好。

我可能是错的,但我发现你可能找不到可以加载的库,你可以加载原生JavaScript作为一种结构,但这不是重点。

使用其他内容作为您的语言实现,您可以按照正确的语法获得所需的结果。