Mongod在查询数据库时崩溃

时间:2017-04-18 23:44:33

标签: node.js mongodb amazon-web-services

我有一个运行nodejs和mongod的AWS实例。我试图查询的集合中有大约289248个文档。

以下是我用来查询数据的代码:

var collection = db.collection('my_collection');
collection.find({ $and: [ 
        {"text" : {$regex : ".*"+keyword+".*"}}, 
        {"username" : username} 
    ] }).limit(10).toArray(function(err, docs) {

最初,我遇到了仅查询用户名collection.find({"username":username})的问题,因为mongo中有很多条目。所以我开始限制我的代码,在mongo控制台中,我可以设置30的限制,它会产生我正在寻找的结果。

但是,当我在nodejs上运行此应用程序时,当我查询此命令时,它会崩溃我的mongod服务,我必须重新启动它。在节点服务器上,限制1工作正常,但限制5不工作。如果数据库中有更多结果,我不能简单地使用限制1。我该怎么办?

1 个答案:

答案 0 :(得分:0)

not using $and会有所作为吗? :

collection.find({text:{$regex:".*"+keyword+".*"},username: username})

我也想知道'text'是否是文本索引,在这种情况下它应该是'$ text'。

我还注意到你在查询表达式中使用了两个变量,并想知道你是否已经验证了这些变量的定义。