我无法连接到我的机器上的MongoDb。当我检查brew服务列表时,我会得到一个mongodb-社区状态错误12288。
当我试图启动服务器时,我会得到以下错误:
/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文件如下
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;
我的服务器如下所示
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
检查服务列表时,终端返回
Name Status User File
mongodb-community error 12288 daniel_zamanillo ~/Library/LaunchAgents/homebrew.mxcl.mongodb-community.plist
php none
php@7.4 none
我在这里有点不知所措,我希望能有一些帮助,能够再次连接到芒果。谢谢!
发布于 2022-01-18 21:02:18
我相信这是由于MongoDB (mongod)试图将其日志文件写入到它没有权限写入的位置。
首先确定您的mongod.conf
文件在哪里(应该在/usr/local
下面)
在该日志文件中,要查找mongo.log
文件路径位置,并将其更新到主目录中的某个位置。
重新启动服务,它应该可以工作。
https://stackoverflow.com/questions/70761645
复制相似问题