2

我是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

4

4 回答 4

2

多个命名适配器可能存在一些问题。

最好完全不同地命名所有东西(又名 MongoDev、MongoProd),如果你的问题是分离开发和生产,但你的所有连接和默认模型参数都在 config/env/ - production.js - development.js

您应该查看以下链接

https://github.com/balderdashy/sails/issues/939

在 Sails.js 中处理数据库环境配置

于 2015-02-22T23:45:50.557 回答
1

您需要在位于 config 文件夹中的models.js文件中更改模型使用的连接。放:

connection: 'mongo'

通常,您可以在connections.js 文件或local.js 文件中定义您的适配器。Local.js 优先,主要是为了保护敏感的配置信息(密码等),因为它不是通过 git 上传的。您仍然需要在 models.js 文件中设置实际使用的适配器。

于 2015-02-24T02:05:09.453 回答
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'
于 2015-07-13T16:13:17.580 回答
0

您的适配器是否已定义?在 connection.js 中它会是

localDiskDb: {
 adapter: 'sails-mongo'
},
someMongodbServer: {
    adapter: 'sails-mongo',
    host: 'localhost',
    port: 27017,
},

我也是新手,但我很确定你不需要接触 local.js

于 2015-02-22T15:29:36.813 回答