2017-05-01 43 views
0

我想使用mongodb但沒有任何ORM。所以下面是我的連接mongodb的服務。
服務:sailsjs使用沒有ORM的mongodb

//DbService.js 

    const MongoClient = require('mongodb').MongoClient; 

    module.exports = { 
     db:function(req, res){ 
     var connect=MongoClient.connect("mongodb:***********").then(function (err, database) { 
      if(err) console.log(err); 
      else{ 
      database=database.db('*****'); 
      return connect; 
      } 

     }); 
     } 
    } 

連接我已經在控制器叫它,但要經過類型錯誤:無法讀取屬性「然後」的定義。

控制器:

//HomeControlelr.js 
    module.exports = { 
      index:function(req, res){ 
       DbService.db().then(function(err,db) { 
        console.log(db); 
       }) 
      } 
    }; 
+0

要做到這一點,爲什麼呢?水線是大多數人首先使用帆的重要組成部分。 – bigtunacan

+0

我只需要獲取數據。我不想爲所有收藏品寫scema。 –

+0

'MongoClient.connect()'似乎沒有返回'Promise'。 https://www.npmjs.com/package/mongodb#connecting-to-mongodb – luisenrike

回答

0

正如你可以看到docsMongoClient.connect()不返回無極對象。代替這個使用回調函數

module.exports = { 
    db:function(){ 
    var connect = MongoClient.connect("mongodb:***********", function (err, database) { 
     //... 
     } 
    }); 
    } 
} 

btw。在控制您的通話DbService.db功能也將失敗的辯論,因爲你的服務功能還你去之前不返回無極

,閱讀一些有關承諾和回調函數