Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Unicrawler和MongoError_Node.js_Mongodb_Web Crawler_Freebsd_Database - Fatal编程技术网

Node.js Unicrawler和MongoError

Node.js Unicrawler和MongoError,node.js,mongodb,web-crawler,freebsd,database,Node.js,Mongodb,Web Crawler,Freebsd,Database,我正在我的服务器FreeBSD 8.3上使用爬虫程序。这个爬虫unicrawler正在使用mongodb,但不幸的是,我在数据库中放入了大量数据。现在我有一个信息: /usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/connection/base.js:242 throw message; ^ MongoError: too much data for sort() with

我正在我的服务器FreeBSD 8.3上使用爬虫程序。这个爬虫unicrawler正在使用mongodb,但不幸的是,我在数据库中放入了大量数据。现在我有一个信息:

    /usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/connection/base.js:242
        throw message;      
              ^
MongoError: too much data for sort() with no index.  add an index or specify a smaller limit
    at Object.toError (/usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/utils.js:110:11)
    at /usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/cursor.js:685:54
    at Cursor.close (/usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/cursor.js:959:5)
    at commandHandler (/usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/cursor.js:685:21)
    at /usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/db.js:1806:9
    at Server.Base._callHandler (/usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/connection/base.js:442:41)
    at /usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/connection/server.js:485:18
    at MongoReply.parseBody (/usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/responses/mongo_reply.js:68:5)
    at null.<anonymous> (/usr/UniCrawler/api/node_modules/mongodb/lib/mongodb/connection/server.js:443:20)
    at EventEmitter.emit (events.js:95:17)
npm ERR! weird error 8
npm ERR! not ok code 0

我尝试进行make deinstall,然后对node、mongodb、redis和unicrawler进行make&&make安装,但我仍然拥有所有数据。如何擦除所有这些数据?

如果要删除数据,必须打开一个shell并将其删除

假设mongo位于路径上并且mongo守护进程正在运行,请在shell上尝试以下操作:

$ mongo //This will start a mongo shell
> show dbs; //This will list all the existing dbs
找到要删除的db的名称后,按Ctrl+D离开mongo shell,然后:


与删除所有数据相比,更好的选择是添加适当的索引或限制,以允许查询容纳更大的结果集

对于sort而没有索引错误的数据太多表示您正在尝试对大于32MB的结果集进行排序,这是MongoDB 2.4中内存中排序的限制。索引将使该查询更快、更具可伸缩性


有关更多信息和示例,请参阅MongoDB手册:。

非常感谢,它正在工作:-我不明白的是,我尝试使用mongo然后显示dbs,但我只是看到了测试数据库。。。没关系,最重要的是它能起作用。非常感谢如果这对你有用,你可能会想把它作为一个正确的答案给别人:谢谢,我会在有时间阅读手册的时候再试一次。我并不是一个真正的数据库超级用户,但我会在一开始就尝试失败,然后再尝试学习!祝你今天愉快,谢谢
$ mongo <dbname> --eval "db.dropDatabase()"
> show tables;
> db.table_name.remove();