/ / sailsjs používajú mongodb bez ORM - node.js, mongodb, sľub, sails.js, q

sailsjs používajú mongodb bez ORM - node.js, mongodb, sľub, sails.js, q

Chcem používať mongodb s plachtami, ale bez ORM. Takže nižšie je moja služba na pripojenie mongodbu.
servis:

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

});
}
}

Po pripojení som ho volal v radiči, ale dostať TypeError: Nedá sa čítať vlastnosť "potom" z nedefinovaného.

regulátor:

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

odpovede:

0 pre odpoveď č. 1

Ako môžete vidieť docs MongoClient.connect() nevráti Promise objekt. Namiesto toho použite funkciu spätného volania

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

btw. Tvoja voľba DbService.db funkcia v ovládači tiež zlyhá, pretože vaša servisná funkcia tiež nevracia prísľub

Skôr ako budete pokračovať, prečítajte si niečo o sľuboch a funkciách spätného volania