Я работаю на сервере Node.js, подключаюсь к MongoDB и пишу с использованием TypeScript. Когда я пытаюсь использовать MongoDB, он не создает соединение, однако, когда я проверяю вывод монго, создается впечатление, что он создает соединение.
Чего мне не хватает в моем коде для определения соединения в Node.js?
Моя строка подключения 'mongodb://localhost:27017'
Мой метод подключения:
connect() {
console.log('connecting to mongo') //this is called
MongoClient.connect(this.connectionString, {useNewUrlParser: true})
.then(client => {
console.log('setting client'); //this doesn't get called
this.client = client;
console.log(this.client);
})
.catch(error => {
console.log('error during connecting to mongo: '); //this also doesn't get called
console.error(error);
});
}
Монго вывод:
2018-11-08T23: 06: 24.106 + 0100 I СЕТЬ Соединение [слушатель] принято с 127.0.0.1:51345 # 11 (2 соединения теперь открыто)
2018-11-08T23: 06: 24.107 + 0100 I NETWORK [conn11] получил метаданные клиента из 127.0.0.1:51345 conn11: {драйвер: {name: "nodejs", версия: "3.1.9"}, os : {тип: "Darwin", имя: "darwin", архитектура: "x64", версия: "17.7.0"}, платформа: "Node.js v8.9.3, LE, ядро mongodb: 3.1.8"}
Мой репозиторий находится на https://github.com/FrisoDenijs/MEAN-ToDo/blob/master/server/src/db/mongo.db.ts для полного кода.
console.log(db)
по запросу shkaper
MongoClient {
domain: null,
_events: {},
_eventsCount: 0,
_maxListeners: undefined,
s:
{ url: 'mongodb://localhost:27017',
options:
{ servers: [Array],
caseTranslate: true,
useNewUrlParser: true,
socketTimeoutMS: 360000,
connectTimeoutMS: 30000,
promiseLibrary: [Function: Promise] },
promiseLibrary: [Function: Promise],
dbCache: {},
sessions: [] },
topology:
Server {
domain: null,
_events:
{ serverOpening: [Function],
serverDescriptionChanged: [Function],
serverHeartbeatStarted: [Function],
serverHeartbeatSucceeded: [Function],
serverHeartbeatFailed: [Function],
serverClosed: [Function],
topologyOpening: [Function],
topologyClosed: [Function],
topologyDescriptionChanged: [Function],
commandStarted: [Function],
commandSucceeded: [Function],
commandFailed: [Function],
joined: [Function],
left: [Function],
ping: [Function],
ha: [Function],
authenticated: [Function],
error: [Function],
timeout: [Function],
close: [Function],
parseError: [Function],
open: [Object],
fullsetup: [Object],
all: [Object],
reconnect: [Function] },
_eventsCount: 25,
_maxListeners: Infinity,
clientInfo:
{ driver: [Object],
os: [Object],
platform: 'Node.js v8.9.3, LE' },
s:
{ coreTopology: [Object],
sCapabilities: null,
clonedOptions: [Object],
reconnect: true,
emitError: true,
poolSize: 5,
storeOptions: [Object],
store: [Object],
host: 'localhost',
port: 27017,
options: [Object],
sessionPool: [Object],
sessions: [],
promiseLibrary: [Function: Promise] } } }