首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何修复mongodb社区状态错误12288

如何修复mongodb社区状态错误12288
EN

Stack Overflow用户
提问于 2022-01-18 19:54:56
回答 1查看 1.1K关注 0票数 -1

我无法连接到我的机器上的MongoDb。当我检查brew服务列表时,我会得到一个mongodb-社区状态错误12288。

当我试图启动服务器时,我会得到以下错误:

代码语言:javascript
运行
复制
/Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/node_modules/mongoose/lib/connection.js:847
  const serverSelectionError = new ServerSelectionError();
                          
MongooseServerSelectionError: connect ECONNREFUSED ::1:27017
    at NativeConnection.Connection.openUri (/Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/node_modules/mongoose/lib/connection.js:847:32)
    at /Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/node_modules/mongoose/lib/index.js:351:10
    at /Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/node_modules/mongoose/lib/helpers/promiseOrCallback.js:32:5
    at new Promise (<anonymous>)
    at promiseOrCallback (/Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/node_modules/mongoose/lib/helpers/promiseOrCallback.js:31:10)
    at Mongoose._promiseOrCallback (/Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/node_modules/mongoose/lib/index.js:1149:10)
    at Mongoose.connect (/Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/node_modules/mongoose/lib/index.js:350:20)
    at Object.<anonymous> (/Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/config/connection.js:3:10)
    at Module._compile (node:internal/modules/cjs/loader:1097:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Module.require (node:internal/modules/cjs/loader:999:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Users/daniel_zamanillo/Desktop/vandy/target-shopping/server/server.js:7:12)
    at Module._compile (node:internal/modules/cjs/loader:1097:14) {
  reason: TopologyDescription {
    type: 'Single',
    setName: null,
    maxSetVersion: null,
    maxElectionId: null,
    servers: Map(1) {
      'localhost:27017' => ServerDescription {
        address: 'localhost:27017',
        error: Error: connect ECONNREFUSED ::1:27017
            at TCPConnectWrap.afterConnect [as oncomplete] (node:net:1157:16) {
          name: 'MongoNetworkError'
        },
        roundTripTime: -1,
        lastUpdateTime: 432291066,
        lastWriteDate: null,
        opTime: null,
        type: 'Unknown',
        topologyVersion: undefined,
        minWireVersion: 0,
        maxWireVersion: 0,
        hosts: [],
        passives: [],
        arbiters: [],
        tags: []
      }
    },
    stale: false,
    compatible: true,
    compatibilityError: null,
    logicalSessionTimeoutMinutes: null,
    heartbeatFrequencyMS: 10000,
    localThresholdMS: 15,
    commonWireVersion: null
  }
}
Node.js v17.3.0

我的connection.js文件如下

代码语言:javascript
运行
复制
const mongoose = require("mongoose");

mongoose.connect(
    process.env.MONGODB_URI || "mongodb://localhost:27017/holiday-chaos-db",
    {
        useNewUrlParser: true,
        useUnifiedTopology: true,
        useCreateIndex: true,
        useFindAndModify: false,
    }
);

module.exports = mongoose.connection;

我的服务器如下所示

代码语言:javascript
运行
复制
const express = require("express");
const { ApolloServer } = require("apollo-server-express");
const path = require("path");

const { typeDefs, resolvers } = require("./schemas");
const { authMiddleware } = require("./utils/auth");
const db = require("./config/connection");

const PORT = process.env.PORT || 3001;
const app = express();

startServer = async () => {
    const server = new ApolloServer({
        typeDefs,
        resolvers,
        context: authMiddleware,
    });
    await server.start();
    server.applyMiddleware({ app });
    console.log(`Use GraphQL at http://localhost:${PORT}${server.graphqlPath}`);
};

startServer();

app.use(express.urlencoded({ extended: false }));
app.use(express.json());

// Serve up static assets
if (process.env.NODE_ENV === "development") {
    app.use(express.static(path.join(__dirname, "../client/build")));
}

app.get("*", (req, res) => {
    res.sendFile(path.join(__dirname, "../client/build/index.html"));
});

db.once("open", () => {
    app.listen(PORT, () => {
        console.log(`API server running on port ${PORT}!`);
    });
});

我使用brew卸载来删除mongosh、mongodb社区和mongodb数据库工具的所有痕迹,然后使用https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/的安装指南。

运行brew services start mongodb-community@5.0时,我的终端返回Successfully started `mongodb-community` (label: homebrew.mxcl.mongodb-community),但当我使用brew services list检查服务列表时,终端返回

代码语言:javascript
运行
复制
Name              Status       User             File
mongodb-community error  12288 daniel_zamanillo ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist
php               none
php@7.4           none

我在这里有点不知所措,我希望能有一些帮助,能够再次连接到芒果。谢谢!

EN

回答 1

Stack Overflow用户

发布于 2022-01-18 21:02:18

我相信这是由于MongoDB (mongod)试图将其日志文件写入到它没有权限写入的位置。

首先确定您的mongod.conf文件在哪里(应该在/usr/local下面)

在该日志文件中,要查找mongo.log文件路径位置,并将其更新到主目录中的某个位置。

重新启动服务,它应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70761645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档