我是sailsjs的新手,目前正致力于使用sailsjs的项目。我想将默认数据库更改为mongodb
。我是在config/local.js
中完成的,如下面的
connections: {
'defaults': 'mongo',
mongo: {
module: 'sails-mongo',
host: 'localhost',
user: '',
password: '',
database: 'dbName',
schema: true
}
}
启动mongodb并尝试使用应用程序(我正在处理)创建一些数据,然后当我使用mongodb
在mongodb command line tool
中检查时。它在那里找不到数据,当我在应用程序中检查它时,它会加载数据库中的所有数据。这意味着它仍然使用存储该数据的默认数据库。
我使用的是sailsjs版本0.11.0
。
答案 0 :(得分:2)
多个命名适配器可能存在一些问题。
最好以不同的方式完全命名所有内容(也就是MongoDev,MongoProd),如果您的问题是将开发和生产分开,那么所有的连接和默认模型参数都在 配置/ ENV / - production.js - development.js
您应该查看以下链接
答案 1 :(得分:1)
您需要在位于config文件夹中的 models.js 文件中更改模型使用的连接。设置:
connection: 'mongo'
通常,您可以在connections.js文件或local.js文件中定义适配器。 Local.js优先,主要用于保护敏感配置信息(密码等),因为它不会通过git上传。您仍然需要在models.js文件中设置实际使用的适配器。
答案 2 :(得分:1)
刚刚运行npm install sails-mongo
在/config/connections.js
mongodbServer: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
database: 'test',
schema:true
}
在mongodbServer
/config/models.js
,如下所示
connection: 'mongodbServer',
migrate: 'alter'
答案 3 :(得分:0)
您的适配器是否已定义?在connection.js中它将是
localDiskDb: {
adapter: 'sails-mongo'
},
someMongodbServer: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
},
我也是新手,但我很确定你不需要联系local.js