执行node src/db/db.js报错

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
樱桃小胖子 2022-05-16 13:19:34

同学你好,报错是因为Mongoose 6不再需要useCreateIndex。找到db.js文件中的useCreateIndex相关的代码移除或者注释掉,再重新执行即可。

https://img1.sycdn.imooc.com//climg/6281dee309c4f22d07070390.jpg

祝学习愉快!

  • 还是没有显示连接成功


    D:\学习\移动互联\server>node src/db/db.js

    mongoose connect error MongooseServerSelectionError: getaddrinfo ENOTFOUND localhsot

        at NativeConnection.Connection.openUri (D:\学习\移动互联\server\node_modules\mongoose\lib\connection.js:807:32)

        at D:\学习\移动互联\server\node_modules\mongoose\lib\index.js:342:10

        at D:\学习\移动互联\server\node_modules\mongoose\lib\helpers\promiseOrCallback.js:32:5

        at new Promise (<anonymous>)

        at promiseOrCallback (D:\学习\移动互联\server\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:10)

        at Mongoose._promiseOrCallback (D:\学习\移动互联\server\node_modules\mongoose\lib\index.js:1181:10)

        at Mongoose.connect (D:\学习\移动互联\server\node_modules\mongoose\lib\index.js:341:20)

        at Object.<anonymous> (D:\学习\移动互联\server\src\db\db.js:15:10)

        at Module._compile (node:internal/modules/cjs/loader:1101:14)

        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) {

      reason: TopologyDescription {

        type: 'Unknown',

        servers: Map(1) { 'localhsot:27017' => [ServerDescription] },

        stale: false,

        compatible: true,

        heartbeatFrequencyMS: 10000,

        localThresholdMS: 15,

        logicalSessionTimeoutMinutes: undefined

      },

      code: undefined

    }

    node:internal/process/promises:246

              triggerUncaughtException(err, true /* fromPromise */);

              ^


    MongooseServerSelectionError: getaddrinfo ENOTFOUND localhsot

        at NativeConnection.Connection.openUri (D:\学习\移动互联\server\node_modules\mongoose\lib\connection.js:807:32)

        at D:\学习\移动互联\server\node_modules\mongoose\lib\index.js:342:10

        at D:\学习\移动互联\server\node_modules\mongoose\lib\helpers\promiseOrCallback.js:32:5

        at new Promise (<anonymous>)

        at promiseOrCallback (D:\学习\移动互联\server\node_modules\mongoose\lib\helpers\promiseOrCallback.js:31:10)

        at Mongoose._promiseOrCallback (D:\学习\移动互联\server\node_modules\mongoose\lib\index.js:1181:10)

        at Mongoose.connect (D:\学习\移动互联\server\node_modules\mongoose\lib\index.js:341:20)

        at Object.<anonymous> (D:\学习\移动互联\server\src\db\db.js:15:10)

        at Module._compile (node:internal/modules/cjs/loader:1101:14)

        at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10) {

      reason: TopologyDescription {

        type: 'Unknown',

        servers: Map(1) {

          'localhsot:27017' => ServerDescription {

            _hostAddress: HostAddress { isIPv6: false, host: 'localhsot', port: 27017 },

            address: 'localhsot:27017',

            type: 'Unknown',

            hosts: [],

            passives: [],

            arbiters: [],

            tags: {},

            minWireVersion: 0,

            maxWireVersion: 0,

            roundTripTime: -1,

            lastUpdateTime: 249775744,

            lastWriteDate: 0,

            error: MongoNetworkError: getaddrinfo ENOTFOUND localhsot

                at connectionFailureError (D:\学习\移动互联\server\node_modules\mongodb\lib\cmap\connect.js:375:20)

                at Socket.<anonymous> (D:\学习\移动互联\server\node_modules\mongodb\lib\cmap\connect.js:295:22)

                at Object.onceWrapper (node:events:510:26)

                at Socket.emit (node:events:390:28)

                at emitErrorNT (node:internal/streams/destroy:157:8)

                at emitErrorCloseNT (node:internal/streams/destroy:122:3)

                at processTicksAndRejections (node:internal/process/task_queues:83:21) {

              [Symbol(errorLabels)]: Set(0) {}

            }

          }

        },

        stale: false,

        compatible: true,

        heartbeatFrequencyMS: 10000,

        localThresholdMS: 15,

        logicalSessionTimeoutMinutes: undefined

      },

      code: undefined

    }


    2022-05-16 15:15:31
  • 同学你好,从报错信息上看是27017端口监听不成功,同学有启动本地的MongoDB么?这个需要现在本地安装MongoDB,然后启动MongoDB。

    1、MongoDB下载及安装

    (1)下载MongoDB

    (2)安装MongoDB

    ①双击安装程序进行安装

    ②修改安装路径为比较简洁的安装目录(C盘太满可以安装其他盘里)

    https://img1.sycdn.imooc.com//climg/628204970942bbf106550504.jpg

    ③MongoDB文件夹下,查看是否有data和log文件夹

    ④在data文件夹中新建db文件夹

    ⑤log文件夹中新建mongod.log文件

    ⑥检查bin文件夹下是否有mongo.exe 和 mongod.exe

    (4)启动MongoDB

    ①在MongoDB/bin目录下打开命令工具

    ②输入下列命令启动本地服务器

    mongod.exe --dbpath C:\MongoDB\data\bin

    光标一直闪烁说明启动成功

    (5)检测是否启动成功

    ①在MongoDB/bin目录下打开命令工具

    ②输入下列命令

    mongo.exe --port 27017

    ③输入数字加减法测试,能够正常得出计算结果,则表示启动成功。

    注意:在(4)启动MongoDB中启动的本地数据库的命令窗口是不能关闭的,关闭了就相当于是关闭了本地数据库,就无法连接成功了。

    另外,老师研究了一下新版本的mongodb。以下两句代码都不在需要了,都注释掉即可:

    https://img1.sycdn.imooc.com//climg/628206d8095f97a607150780.jpg

    希望可以帮到你,祝学习愉快!

    2022-05-16 16:05:46
  • 又重新试了一遍 MongoDB启动了 加减法测试也验证成功了 命令窗口也没有关闭 但是还是不行

    https://img1.sycdn.imooc.com//climg/628207ec09426bcb08260862.jpghttps://img1.sycdn.imooc.com//climg/628208090952974619201021.jpg

    https://img1.sycdn.imooc.com//climg/6282082109708d0d19201021.jpg

    https://img1.sycdn.imooc.com//climg/62820833092e5c4219201021.jpg

    https://img1.sycdn.imooc.com//climg/6282084509adac3819201021.jpg

    2022-05-16 16:16:40
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师