【发布时间】:2017-09-29 00:45:35
【问题描述】:
我想将 mongodb 与sails 一起使用,但没有任何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;
}
});
}
}
连接后,我在控制器中调用了它,但出现 TypeError: Cannot read property 'then' of undefined。
控制器:
//HomeControlelr.js
module.exports = {
index:function(req, res){
DbService.db().then(function(err,db) {
console.log(db);
})
}
};
【问题讨论】:
-
为什么要这样做?水线是大多数人首先使用 Sails 的重要原因。
-
我只需要获取数据。我不想为所有集合编写 scema。
-
MongoClient.connect()似乎没有返回Promise。 npmjs.com/package/mongodb#connecting-to-mongodb -
作为替代方案,您可以随时使用水线native features
标签: node.js mongodb promise sails.js q