1 'use strict'; 2 /** 3 * db config 4 * @type {Object} 5 */ 6 module.exports = { 7 type: "mongo", 8 log_sql: true, 9 log_connect: true, 10 adapter: { 11 mysql: { 12 host: '127.0.0.1', 13 port: '', 14 database: '', 15 user: '', 16 password: '', 17 prefix: 'think_', 18 encoding: 'utf8' 19 }, 20 mongo: { 21 prefix: 'think_', 22 database: 'larry', //這裏要配置數據庫名稱 23 encoding: 'utf8', 24 nums_per_page: 10, 25 log_sql: true, 26 log_connect: true, 27 cache: { 28 on: true, 29 type: '', 30 timeout: 3600 31 }, 32 options: { 33 //authSource: 'admin' 34 } 35 } 36 } 37 };
心血來潮想要試試thinkJS操做mongoDB,去官方文檔看了看,默認是隻給了mysql的配置,源代碼也是沒有配置mongo的,只有一個官方案例,按照其db.js的配置複製了到我本身的代碼,仍是不成功。html
最後發現其實參考mysql的配置就能夠了(不要怪我傻.....新手....)。mysql
按照官方文檔,我進行以下幾步:git
thinkjs model user --mongo
生成了user.js後寫了如下幾行代碼github
//user.js
'use strict'; /** * model * @type {Class} */ module.exports = think.model('mongo', { addUser: function () { var ret = this.add({ name: Date() }); console.log(this.getModelName(),this.db()); return ret; } });
//indexAction.js
indexAction: function (self) { console.log(this.model('user').addUser()); return self.display(); }
最後發現log出來的db信息,默認是鏈接admin數據庫的。。。。而後嘗試將mongo的配置項加入database字段,修改爲本身的,而後竟然成功了~。真是糟心啊,弄了一個下午。。sql
參考鏈接數據庫