我正在使用meteor.js
,我只是改变了.html文件中的一些HTML输出,它开始给我错误:
错误:数据库名称不能包含字符'。'
我没有改变任何东西,我记得在中间做的唯一事情就是开始一个我使用meteor.js创建的新项目,然后更新流星,现在我遇到了这个问题。
其他错误详情:
错误:数据库名称不能包含字符'。'
W20130828-09:52:22.049(1)? (STDERR)在validateDatabaseName(/Users/jumpingcode/.meteor/packages/mongo-livedata/86ae77f282/npm/node_modules/mongodb/lib/mongodb/db.js:216:59)
W20130828-09:52:22.050(1)?新的Db(/Users/jumpingcode/.meteor/packages/mongo-livedata/86ae77f282/npm/node_modules/mongodb/lib/mongodb/db.js:90:3)
W20130828-09:52:22.050(1)? (STDERR)在MongoClient.connect.connectFunction(/Users/jumpingcode/.meteor/packages/mongo-livedata/86ae77f282/npm/node_modules/mongodb/lib/mongodb/mongo_client.js:238:29)
W20130828-09:52:22.050(1)? (STDERR)在Function.MongoClient.connect(/Users/jumpingcode/.meteor/packages/mongo-livedata/86ae77f282/npm/node_modules/mongodb/lib/mongodb/mongo_client.js:291:5)
W20130828-09:52:22.050(1)? (STDERR)在Function.Db.connect(/Users/jumpingcode/.meteor/packages/mongo-livedata/86ae77f282/npm/node_modules/mongodb/lib/mongodb/db.js:1854:23)
W20130828-09:52:22.051(1)?新的MongoConnection上的(STDERR)(packages / mongo-livedata / mongo_driver.js:113)
W20130828-09:52:22.051(1)? (STDERR)新MongoInternals.RemoteCollectionDriver(packages / mongo-livedata / remote_collection_driver.js:3)
W20130828-09:52:22.051(1)? (STDERR)在Object。 (包/蒙戈-livedata / remote_collection_driver.js:34)
W20130828-09:52:22.051(1)? (STDERR)at Object ._。once [as defaultRemoteCollectionDriver](packages / underscore / underscore.js:704)
W20130828-09:52:22.053(1)? (STDERR)新的Meteor.Collection(packages / mongo-livedata / collection.js:66)
答案 0 :(得分:1)
在.meteor/local/db
中查看您的收藏集,看看是否添加了任何文件。
如果它仍然继续,您可以使用meteor reset
,但它会清除您的数据库。
问题来自mongodb,因为.
表示法允许您在javascript中对象内部达到峰值,该字符被保留,不能用作集合或数据库名称。
如果您使用过任何环境变量,它也可能导致问题出现新的拼写错误。尝试使用meteor
,就像在新的终端窗口中一样。
答案 1 :(得分:0)
当我将expressjs与猫鼬一起使用时,发生了以上错误。它可以通过
解决1。创建一个database.js文件
在其中进行可导出的数据库配置,如下所示
module.exports = {database : "mongodb://myUsername:myPassword@ds161039.mlab.com:61039/accounttest"};
2。需要它到您当前的JS文件中
var connection = mongoose.connect(config.database);