Sails.js配置MongoDB数据库

 

在Sails.js中,默认使用的是本地的一个数据库localDiskDb,我们在项目中如果想使用数据库MongoDB的话,需要自己手动配置,首先是config/connections.js文件,我们需要将我们想使用的数据库通过配置文件添加进去。入红字部分

  1. /** 
  2.  * Connections 
  3.  * (sails.config.connections) 
  4.  * 
  5.  * `Connections` are like "saved settings" for your adapters.  What's the difference between 
  6.  * a connection and an adapter, you might ask?  An adapter (e.g. `sails-mysql`) is generic-- 
  7.  * it needs some additional information to work (e.g. your database host, password, user, etc.) 
  8.  * A `connection` is that additional information. 
  9.  * 
  10.  * Each model must have a `connection` property (a string) which is references the name of one 
  11.  * of these connections.  If it doesn't, the default `connection` configured in `config/models.js` 
  12.  * will be applied.  Of course, a connection can (and usually is) shared by multiple models. 
  13.  * . 
  14.  * Note: If you're using version control, you should put your passwords/api keys 
  15.  * in `config/local.js`, environment variables, or use another strategy. 
  16.  * (this is to prevent you inadvertently sensitive credentials up to your repository.) 
  17.  * 
  18.  * For more information on configuration, check out: 
  19.  * http://sailsjs.org/#!/documentation/reference/sails.config/sails.config.connections.html 
  20.  */ 
  21.  
  22. module.exports.connections = { 
  23.  
  24.   /*************************************************************************** 
  25.   *                                                                          * 
  26.   * Local disk storage for DEVELOPMENT ONLY                                  * 
  27.   *                                                                          * 
  28.   * Installed by default.                                                    * 
  29.   *                                                                          * 
  30.   ***************************************************************************/ 
  31.   localDiskDb: { 
  32.     adapter: 'sails-disk' 
  33.   }, 
  34.  
  35.   /*************************************************************************** 
  36.   *                                                                          * 
  37.   * MySQL is the world's most popular relational database.                   * 
  38.   * http://en.wikipedia.org/wiki/MySQL                                       * 
  39.   *                                                                          * 
  40.   * Run: npm install sails-mysql                                             * 
  41.   *                                                                          * 
  42.   ***************************************************************************/ 
  43.   someMysqlServer: { 
  44.     adapter: 'sails-mysql', 
  45.     host: 'YOUR_MYSQL_SERVER_HOSTNAME_OR_IP_ADDRESS', 
  46.     user: 'YOUR_MYSQL_USER', 
  47.     password: 'YOUR_MYSQL_PASSWORD', 
  48.     database: 'YOUR_MYSQL_DB' 
  49.   }, 
  50.  
  51.   /*************************************************************************** 
  52.   *                                                                          * 
  53.   * MongoDB is the leading NoSQL database.                                   * 
  54.   * http://en.wikipedia.org/wiki/MongoDB                                     * 
  55.   *                                                                          * 
  56.   * Run: npm install sails-mongo                                             * 
  57.   *                                                                          * 
  58.   ***************************************************************************/ 
  59.   MongodbServer: { 
  60.     adapter: 'sails-mongo', 
  61.     host: 'localhost', 
  62.     port: 27017, 
  63.     // user: 'username', 
  64.     // password: 'password', 
  65.     database: 'catgood' 
  66.   }, 
  67.  
  68.   /*************************************************************************** 
  69.   *                                                                          * 
  70.   * PostgreSQL is another officially supported relational database.          * 
  71.   * http://en.wikipedia.org/wiki/PostgreSQL                                  * 
  72.   *                                                                          * 
  73.   * Run: npm install sails-postgresql                                        * 
  74.   *                                                                          * 
  75.   *                                                                          * 
  76.   ***************************************************************************/ 
  77.   somePostgresqlServer: { 
  78.     adapter: 'sails-postgresql', 
  79.     host: 'YOUR_POSTGRES_SERVER_HOSTNAME_OR_IP_ADDRESS', 
  80.     user: 'YOUR_POSTGRES_USER', 
  81.     password: 'YOUR_POSTGRES_PASSWORD', 
  82.     database: 'YOUR_POSTGRES_DB' 
  83.   } 
  84.  
  85.  
  86.   /*************************************************************************** 
  87.   *                                                                          * 
  88.   * More adapters: https://github.com/balderdashy/sails                      * 
  89.   *                                                                          * 
  90.   ***************************************************************************/ 
  91.  
  92. }; 

到这里,数据库并没有切换,我们还需要设置config/models.js

  1. /** 
  2.  * Default model configuration 
  3.  * (sails.config.models) 
  4.  * 
  5.  * Unless you override them, the following properties will be included 
  6.  * in each of your models. 
  7.  * 
  8.  * For more info on Sails models, see: 
  9.  * http://sailsjs.org/#!/documentation/concepts/ORM 
  10.  */ 
  11.  
  12. module.exports.models = { 
  13.  
  14.   /*************************************************************************** 
  15.   *                                                                          * 
  16.   * Your app's default connection. i.e. the name of one of your app's        * 
  17.   * connections (see `config/connections.js`)                                * 
  18.   *                                                                          * 
  19.   ***************************************************************************/ 
  20.   connection: 'MongodbServer', 
  21.  
  22.   /*************************************************************************** 
  23.   *                                                                          * 
  24.   * How and whether Sails will attempt to automatically rebuild the          * 
  25.   * tables/collections/etc. in your schema.                                  * 
  26.   *                                                                          * 
  27.   * See http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html  * 
  28.   *                                                                          * 
  29.   ***************************************************************************/ 
  30.   migrate: 'safe' 
  31.  
  32. }; 

其中的connection后面的字段就是connection.js中配置的MongoDB的名称,然后migrate这里我们使用safe模式,其实这里有三种模式可以选择,如果注释掉这一行,启动sails lift的时候会提示。

到这里我们配置文件已经配置了,需要用npm来添加支持组件了。

  1. npm install sails-mongo 

到此为止,MongoDB的安装就完成了。

奶牛 | 2016年02月29日