我无法将mongoose与本地mongodb服务器连接

kx5bkwkv  于 2022-11-13  发布在  Go
关注(0)|答案(1)|浏览(200)

嗨,朋友们!
我正在尝试连接node.js项目与mongodb,我开始与mongodb atlas和它的工作正常,但当我尝试与mongodb指南针没有工作!我不知道发生了什么,但我会张贴我的node.js代码与终端和mongod的结果CMD和指南针捕获

节点. JS代码

const joi = require('joi')
const express = require('express')
const app = express()
const port = 3000
const mongoose = require('mongoose');
const { string } = require('joi');
const dataBaseLink = `mongodb://localhost:27017/myapp`;
 mongoose.connect(dataBaseLink, {useNewUrlParser: true})
.then(result =>{
  app.listen(port, () => {
    console.log('Connected Successfully');
    console.log(`Example app listening on port ${port}`)
  })})
.catch(err => {
  console.error("Connection problem, please try again!.");});

最终结果

Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.

PS E:\Folder\Mine\node projects\myapp> node app
Connection problem, please try again!.
PS E:\MyBackUp\Mine\node projects\myapp>

mongodb罗盘捕获

mongod命令结果

Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Users\Mazen>mongod
2022-11-08T21:30:22.135+0200 I CONTROL  [initandlisten] MongoDB starting : pid=2
816 port=27017 dbpath=C:\data\db\ 64-bit host=MazenOthman
2022-11-08T21:30:22.136+0200 I CONTROL  [initandlisten] targetMinOS: Windows 7/W
indows Server 2008 R2
2022-11-08T21:30:22.136+0200 I CONTROL  [initandlisten] db version v3.6.23
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten] git version: d352e6a4764
659e0d0350ce77279de3c1f243e5c
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten] OpenSSL version: OpenSSL
 1.0.2s-fips  28 May 2019
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten] allocator: tcmalloc
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten] modules: none
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten] build environment:
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten]     distmod: 2008plus-ss
l
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten]     distarch: x86_64
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten]     target_arch: x86_64
2022-11-08T21:30:22.137+0200 I CONTROL  [initandlisten] options: {}
2022-11-08T21:30:22.140+0200 I -        [initandlisten] Detected data files in C
:\data\db\ created by the 'wiredTiger' storage engine, so setting the active sto
rage engine to 'wiredTiger'.
2022-11-08T21:30:22.140+0200 I STORAGE  [initandlisten] wiredtiger_open config:
create,cache_size=1433M,cache_overflow=(file_max=0M),session_max=20000,eviction=
(threads_min=4,threads_max=4),config_base=false,statistics=(fast),compatibility=
(release="3.0",require_max="3.0"),log=(enabled=true,archive=true,path=journal,co
mpressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),v
erbose=(recovery_progress),
2022-11-08T21:30:22.701+0200 I STORAGE  [initandlisten] WiredTiger message [1667
935822:701436][2816:140713401127040], txn-recover: Main recovery loop: starting
at 4/12800
2022-11-08T21:30:22.982+0200 I STORAGE  [initandlisten] WiredTiger message [1667
935822:981680][2816:140713401127040], txn-recover: Recovering log 4 through 5
2022-11-08T21:30:23.197+0200 I STORAGE  [initandlisten] WiredTiger message [1667
935823:196874][2816:140713401127040], txn-recover: Recovering log 5 through 5
2022-11-08T21:30:23.341+0200 I STORAGE  [initandlisten] WiredTiger message [1667
935823:341005][2816:140713401127040], txn-recover: Set global recovery timestamp
: 0
2022-11-08T21:30:23.667+0200 I CONTROL  [initandlisten]
2022-11-08T21:30:23.667+0200 I CONTROL  [initandlisten] ** WARNING: Access contr
ol is not enabled for the database.
2022-11-08T21:30:23.668+0200 I CONTROL  [initandlisten] **          Read and wri
te access to data and configuration is unrestricted.
2022-11-08T21:30:23.669+0200 I CONTROL  [initandlisten]
2022-11-08T21:30:23.670+0200 I CONTROL  [initandlisten] ** WARNING: This server
is bound to localhost.
2022-11-08T21:30:23.670+0200 I CONTROL  [initandlisten] **          Remote syste
ms will be unable to connect to this server.
2022-11-08T21:30:23.671+0200 I CONTROL  [initandlisten] **          Start the se
rver with --bind_ip <address> to specify which IP
2022-11-08T21:30:23.672+0200 I CONTROL  [initandlisten] **          addresses it
 should serve responses from, or with --bind_ip_all to
2022-11-08T21:30:23.673+0200 I CONTROL  [initandlisten] **          bind to all
interfaces. If this behavior is desired, start the
2022-11-08T21:30:23.674+0200 I CONTROL  [initandlisten] **          server with
--bind_ip 127.0.0.1 to disable this warning.
2022-11-08T21:30:23.675+0200 I CONTROL  [initandlisten]
2022-11-08T21:30:24.345+0200 I FTDC     [initandlisten] Initializing full-time d
iagnostic data capture with directory 'C:/data/db/diagnostic.data'
2022-11-08T21:30:24.348+0200 I NETWORK  [initandlisten] listening via socket bou
nd to 127.0.0.1
2022-11-08T21:30:24.348+0200 I NETWORK  [initandlisten] waiting for connections
on port 27017
2022-11-08T21:30:24.501+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60712 #1 (1 connection now open)
2022-11-08T21:30:24.535+0200 I NETWORK  [conn1] received client metadata from 12
7.0.0.1:60712 conn1: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:30:24.719+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60713 #2 (2 connections now open)
2022-11-08T21:30:24.726+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60714 #3 (3 connections now open)
2022-11-08T21:30:24.727+0200 I NETWORK  [conn2] received client metadata from 12
7.0.0.1:60713 conn2: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:30:24.730+0200 I NETWORK  [conn3] received client metadata from 12
7.0.0.1:60714 conn3: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:30:24.742+0200 I NETWORK  [conn1] end connection 127.0.0.1:60712 (
2 connections now open)
2022-11-08T21:30:24.743+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60715 #4 (3 connections now open)
2022-11-08T21:30:24.746+0200 I NETWORK  [conn4] received client metadata from 12
7.0.0.1:60715 conn4: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:30:24.776+0200 I NETWORK  [conn2] end connection 127.0.0.1:60713 (
2 connections now open)
2022-11-08T21:30:24.887+0200 I NETWORK  [conn4] end connection 127.0.0.1:60715 (
1 connection now open)
2022-11-08T21:30:24.907+0200 I NETWORK  [conn3] end connection 127.0.0.1:60714 (
0 connections now open)
2022-11-08T21:31:05.556+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60720 #5 (1 connection now open)
2022-11-08T21:31:05.561+0200 I NETWORK  [conn5] received client metadata from 12
7.0.0.1:60720 conn5: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:31:05.571+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60721 #6 (2 connections now open)
2022-11-08T21:31:05.573+0200 I NETWORK  [conn6] received client metadata from 12
7.0.0.1:60721 conn6: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:31:05.993+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60722 #7 (3 connections now open)
2022-11-08T21:31:05.994+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60723 #8 (4 connections now open)
2022-11-08T21:31:06.005+0200 I NETWORK  [conn7] received client metadata from 12
7.0.0.1:60722 conn7: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:31:06.006+0200 I NETWORK  [conn8] received client metadata from 12
7.0.0.1:60723 conn8: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:31:06.033+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60724 #9 (5 connections now open)
2022-11-08T21:31:06.034+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60725 #10 (6 connections now open)
2022-11-08T21:31:06.076+0200 I NETWORK  [conn9] received client metadata from 12
7.0.0.1:60724 conn9: { driver: { name: "nodejs", version: "4.8.1" }, os: { type:
 "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, platfo
rm: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application:
{ name: "MongoDB Compass" } }
2022-11-08T21:31:06.077+0200 I NETWORK  [conn10] received client metadata from 1
27.0.0.1:60725 conn10: { driver: { name: "nodejs", version: "4.8.1" }, os: { typ
e: "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, plat
form: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application
: { name: "MongoDB Compass" } }
2022-11-08T21:31:06.162+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60726 #11 (7 connections now open)
2022-11-08T21:31:06.176+0200 I NETWORK  [conn11] received client metadata from 1
27.0.0.1:60726 conn11: { driver: { name: "nodejs", version: "4.8.1" }, os: { typ
e: "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, plat
form: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application
: { name: "MongoDB Compass" } }
2022-11-08T21:31:06.987+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60727 #12 (8 connections now open)
2022-11-08T21:31:06.996+0200 I NETWORK  [conn12] received client metadata from 1
27.0.0.1:60727 conn12: { driver: { name: "nodejs", version: "4.8.1" }, os: { typ
e: "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, plat
form: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application
: { name: "MongoDB Compass" } }
2022-11-08T21:31:07.277+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60728 #13 (9 connections now open)
2022-11-08T21:31:07.277+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60729 #14 (10 connections now open)
2022-11-08T21:31:07.279+0200 I NETWORK  [conn13] received client metadata from 1
27.0.0.1:60728 conn13: { driver: { name: "nodejs", version: "4.8.1" }, os: { typ
e: "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, plat
form: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application
: { name: "MongoDB Compass" } }
2022-11-08T21:31:07.281+0200 I NETWORK  [conn14] received client metadata from 1
27.0.0.1:60729 conn14: { driver: { name: "nodejs", version: "4.8.1" }, os: { typ
e: "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, plat
form: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application
: { name: "MongoDB Compass" } }
2022-11-08T21:31:07.294+0200 I NETWORK  [listener] connection accepted from 127.
0.0.1:60730 #15 (11 connections now open)
2022-11-08T21:31:07.297+0200 I NETWORK  [conn15] received client metadata from 1
27.0.0.1:60730 conn15: { driver: { name: "nodejs", version: "4.8.1" }, os: { typ
e: "Windows_NT", name: "win32", architecture: "x64", version: "6.3.9600" }, plat
form: "Node.js v16.5.0, LE (unified)|Node.js v16.5.0, LE (unified)", application
: { name: "MongoDB Compass" } }

我尝试与mongodbMap集和它的工作很好,但我连接它与指南针没有工作,它显示我,没有对这个网址。

9rbhqvlz

9rbhqvlz1#

你好再次!

我将向您展示发生了什么以及我是如何发现此问题的,但简而言之,如果您也遇到此问题,只需尝试将localhost字更改为127.0.0.1;
一开始我在运行前删除了promise和async await部分,终端显示如下:

Windows PowerShell
Copyright (C) 2014 Microsoft Corporation. All rights reserved.

PS C:\Users\Mazen\Desktop\nodejs\myapp> nodemon app
[nodemon] 2.0.20
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,json
[nodemon] starting `node app.js`
Connected Successfully
Example app listening on port 3000
C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongoose\lib\connection.js:824
  const serverSelectionError = new ServerSelectionError();
                               ^

MongooseServerSelectionError: connect ECONNREFUSED ::1:27017
    at Connection.openUri (C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongoose\lib\connection.js:824:32)
    at C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongoose\lib\index.js:413:10
    at C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongoose\lib\helpers\promiseOrCallback.js:41:5
    at new Promise (<anonymous>)
    at promiseOrCallback (C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongoose\lib\helpers\promiseOrCallback.js:40:10)
    at Mongoose._promiseOrCallback (C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongoose\lib\index.js:1266:10)
    at Mongoose.connect (C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongoose\lib\index.js:412:20)
    at Object.<anonymous> (C:\Users\Mazen\Desktop\nodejs\myapp\app.js:5:10)
    at Module._compile (node:internal/modules/cjs/loader:1119:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1173:10) {
  reason: TopologyDescription {
    type: 'Unknown',
    servers: Map(1) {
      'localhost:27017' => ServerDescription {
        address: 'localhost:27017',
        type: 'Unknown',
        hosts: [],
        passives: [],
        arbiters: [],
        tags: {},
        minWireVersion: 0,
        maxWireVersion: 0,
        roundTripTime: -1,
        lastUpdateTime: 3794704279,
        lastWriteDate: 0,
        error: MongoNetworkError: connect ECONNREFUSED ::1:27017
            at connectionFailureError (C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongodb\lib\cmap\connect.js:387:20)
            at Socket.<anonymous> (C:\Users\Mazen\Desktop\nodejs\myapp\node_modules\mongodb\lib\cmap\connect.js:310:22)
            at Object.onceWrapper (node:events:628:26)
            at Socket.emit (node:events:513:28)
            at emitErrorNT (node:internal/streams/destroy:151:8)
            at emitErrorCloseNT (node:internal/streams/destroy:116:3)
            at process.processTicksAndRejections (node:internal/process/task_queues:82:21) {
          cause: Error: connect ECONNREFUSED ::1:27017
              at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1300:16) {
            errno: -4078,
            code: 'ECONNREFUSED',
            syscall: 'connect',
            address: '::1',
            port: 27017
          },
          [Symbol(errorLabels)]: Set(1) { 'ResetPool' }
        },
        topologyVersion: null,
        setName: null,
        setVersion: null,
        electionId: null,
        logicalSessionTimeoutMinutes: null,
        primary: null,
        me: null,
        '$clusterTime': null
      }
    },
    stale: false,
    compatible: true,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    setName: null,
    maxElectionId: null,
    maxSetVersion: null,
    commonWireVersion: 0,
    logicalSessionTimeoutMinutes: null
  },
  code: undefined
}

Node.js v18.9.1
[nodemon] app crashed - waiting for file changes before starting...

经过一些研究,我在MongoDB开发人员社区发现了这一点:

**您的连接被拒绝消息表示已尝试通过IPv6本地主机别名::1(0:0:0:0:0:0:0:1)进行连接。

默认情况下,mongod不绑定到IPv6地址:则必须将net.ipv6设置为true并在net. bindIp中添加适当的IPv6地址。
如果您使用的是默认mongod配置,则应该能够连接到localhost:27017或等效的IPv4地址127.0.0.1:27017。**
我希望这对遇到类似问题的人有帮助。

相关问题