Mongodb 错误:数据库名称不能包含字符'';

Mongodb 错误:数据库名称不能包含字符'';,mongodb,meteor,Mongodb,Meteor,之前的注释:这已更新,有一个名为“错误:数据库名称不能包含字符”的问题。但这是一个空格或空字符,不是一个点!我不确定这是否会是一个主要的区别,但除了这个问题,这个答案对我没有进一步的帮助。另外,我使用Windows7(32位(我知道这对mongodb来说不是最好的),我对它的描述更详细了一点) 切中要害:我想在几天后再次启动meteor(之前一切正常),突然出现了以下错误: W20150803-18:44:47.168(2)? (STDERR) C:\Users\Laptop\AppData\L

之前的注释:这已更新,有一个名为“错误:数据库名称不能包含字符”的问题。但这是一个空格或空字符,不是一个点!我不确定这是否会是一个主要的区别,但除了这个问题,这个答案对我没有进一步的帮助。另外,我使用Windows7(32位(我知道这对mongodb来说不是最好的),我对它的描述更详细了一点)

切中要害:我想在几天后再次启动meteor(之前一切正常),突然出现了以下错误:

W20150803-18:44:47.168(2)? (STDERR) C:\Users\Laptop\AppData\Local\.meteor\packag
es\meteor-tool\1.1.3\mt-os.windows.x86_32\dev_bundle\server-lib\node_modules\fib
ers\future.js:245
W20150803-18:44:47.168(2)? (STDERR)
throw(ex);
W20150803-18:44:47.168(2)? (STDERR)
      ^
W20150803-18:44:47.168(2)? (STDERR) Error: database names cannot contain the cha
racter ' '
W20150803-18:44:47.169(2)? (STDERR)     at validateDatabaseName (C:\Users\Laptop
\AppData\Local\.meteor\packages\mongo\1.1.0\npm\node_modules\mongodb\lib\mongodb
\db.js:235:59)
W20150803-18:44:47.169(2)? (STDERR)     at new Db (C:\Users\Laptop\AppData\Local
\.meteor\packages\mongo\1.1.0\npm\node_modules\mongodb\lib\mongodb\db.js:97:3)
W20150803-18:44:47.169(2)? (STDERR)     at connectFunction (C:\Users\Laptop\AppD
ata\Local\.meteor\packages\mongo\1.1.0\npm\node_modules\mongodb\lib\mongodb\mong
o_client.js:275:29)
W20150803-18:44:47.169(2)? (STDERR)     at Function.MongoClient.connect (C:\User
s\Laptop\AppData\Local\.meteor\packages\mongo\1.1.0\npm\node_modules\mongodb\lib
\mongodb\mongo_client.js:345:5)
W20150803-18:44:47.170(2)? (STDERR)     at Function.Db.connect (C:\Users\Laptop\
AppData\Local\.meteor\packages\mongo\1.1.0\npm\node_modules\mongodb\lib\mongodb\
db.js:2094:23)
W20150803-18:44:47.170(2)? (STDERR)     at new MongoConnection (packages/mongo/m
ongo_driver.js:173:1)
W20150803-18:44:47.170(2)? (STDERR)     at new MongoInternals.RemoteCollectionDr
iver (packages/mongo/remote_collection_driver.js:4:1)...
W20150803-18:44:47.171(2)? (STDERR)     at Object.<anonymous> (packages/mongo/re
mote_collection_driver.js:38:1)
W20150803-18:44:47.171(2)? (STDERR)     at Object.defaultRemoteCollectionDriver
(packages/underscore/underscore.js:750:1)
W20150803-18:44:47.171(2)? (STDERR)     at new Mongo.Collection (packages/mongo/
collection.js:98:1)
最初的解决方案是在CMD中运行以下命令:

"c:\mongodb\bin\mongod.exe" --port 27017 --dbpath "C:\Users\Laptop\TheDatabaseFolder\rs2" --replSet rs2 --smallfiles --setParameter failIndexKeyTooLong=false //note: this had to be done due to 32 bit issue

rs.initiate() 
尽管CMD显示允许写入,但仍然会出现相同的“无法写入”错误。最后我做到了:

set MONGO_URL=mongodb://localhost:27017/meteor 
然后我用一个特定的配置文件启动了meteor(由于无法加载包)

数据库名称中又出现了一个主要问题,即它包含空格或空字符

总的来说:解决这个问题最有效的方法是什么?为什么这会突然潜入每个项目,让它们失败?那么,这个“packages/mongo/collection.js”(通常是“packages/mongo”)在哪里?我根本找不到它


提前感谢。

每次我重新启动计算机,然后尝试提出任何请求时,都会出现此错误。它似乎与favicon.ico文件有关。我只是使用本地主机来测试API调用,所以我显然没有这个文件。我很确定我的请求是将其作为数据库名称读取的,这将具有非法的“.”字符。我最后补充说:

app.get('/favicon.ico', function(req, res) {
    res.sendStatus(204);
});
现在一切似乎都恢复了正常。每次我发出请求时,favicon.ico请求都会有204个响应,但它是有效的

meteor --settings ../config/development/settings.json.dist
app.get('/favicon.ico', function(req, res) {
    res.sendStatus(204);
});