2017-05-01 9 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; 
      } 

     }); 
     } 
    } 

가 : 정의의 '다음'속성을 읽을 수 없습니다.

컨트롤러 : 당신이 docs에서 볼 수 있듯이

//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

MongoClient.connect()는 약속 개체를 반환하지 않습니다. 이 대신에 콜백 함수를 사용하십시오.

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

btw. 컨트롤러에있는 당신의 전화 DbService.db 기능은 서비스 기능 사촌 또한 당신이 가기 전에 약속

를 반환 약속하고 콜백 함수에 대해 뭔가를 읽을하지 않고, 실패