#javascript #node.js #mongodb #express #heroku
#язык JavaScript #node.js #mongodb #экспресс #героку
Вопрос:
Мой почтовый запрос на создание нового элемента превращает меня в созданный новый элемент. Он хорошо работает в localhost.
Но когда я развертываю свое приложение на heroku , а затем отправляю код статуса запроса: 503 Служба недоступна, но пустое тело. Здесь также мой server.js файл
server.js
const express = require("express"); const mongoose = require("mongoose"); const cors = require("cors"); const app = express(); const items = require("./routes/api/items"); const users = require("./routes/api/user"); const auth = require("./routes/api/auth"); app.use(express.json()); require("dotenv").config(); mongoose.connect(process.env.MONGO_DB).then(console.log("connected")); app.use(cors()); app.use("/api/items", items); app.use("/api/users", users); app.use("/api/auth", auth); app.use(express.static("client/build")); app.get("*", (req, res) =gt; { res.sendFile(path.resolve(__dirname, "client", "build", "index.html")); }); const listener = app.listen(process.env.PORT || 5000, () =gt; { console.log("Your app is listening on port " listener.address().port); });
item.js
router.post("/createTeam", auth, (req, res) =gt; { const newItem = new Item({ name: req.body.name, }); newItem.save(function (err, result) { if (err) { console.log(err); } else { res.json(result); } }); });
itemActions.js
export const addItems = (input) =gt; (dispatch, getState) =gt; { axios .post("/api/items/createTeam", input, tokenConfig(getState)) .then((res) =gt; dispatch({ type: ADD_ITEM, payload: res.data, }) ) .catch((err) =gt; dispatch( returnErrors(err.response.data, err.response.status, "GET_ERRORS") ) ); };
Также мои журналы heroku находятся здесь, когда я создаю новую команду
2021-12-04T09:51:55.743015 00:00 app[web.1]: MongoWriteConcernError: No write concern mode named 'majority"' found in replica set configuration 2021-12-04T09:51:55.743023 00:00 app[web.1]: at MessageStream.messageHandler (/app/node_modules/mongodb/lib/cmap/connection.js:463:30) 2021-12-04T09:51:55.743024 00:00 app[web.1]: at MessageStream.emit (events.js:400:28) 2021-12-04T09:51:55.743024 00:00 app[web.1]: at processIncomingData (/app/node_modules/mongodb/lib/cmap/message_stream.js:108:16) 2021-12-04T09:51:55.743024 00:00 app[web.1]: at MessageStream._write (/app/node_modules/mongodb/lib/cmap/message_stream.js:28:9) 2021-12-04T09:51:55.743025 00:00 app[web.1]: at writeOrBuffer (internal/streams/writable.js:358:12) 2021-12-04T09:51:55.743026 00:00 app[web.1]: at MessageStream.Writable.write (internal/streams/writable.js:303:10) 2021-12-04T09:51:55.743026 00:00 app[web.1]: at TLSSocket.ondata (internal/streams/readable.js:731:22) 2021-12-04T09:51:55.743026 00:00 app[web.1]: at TLSSocket.emit (events.js:400:28) 2021-12-04T09:51:55.743027 00:00 app[web.1]: at addChunk (internal/streams/readable.js:293:12) 2021-12-04T09:51:55.743027 00:00 app[web.1]: at readableAddChunk (internal/streams/readable.js:267:9) { 2021-12-04T09:51:55.743028 00:00 app[web.1]: code: 79, 2021-12-04T09:51:55.743030 00:00 app[web.1]: codeName: 'UnknownReplWriteConcern', 2021-12-04T09:51:55.743030 00:00 app[web.1]: errInfo: { 2021-12-04T09:51:55.743031 00:00 app[web.1]: writeConcern: { w: 'majority"', wtimeout: 0, provenance: 'clientSupplied' } 2021-12-04T09:51:55.743031 00:00 app[web.1]: }, 2021-12-04T09:51:55.743032 00:00 app[web.1]: result: { 2021-12-04T09:51:55.743032 00:00 app[web.1]: n: 1, 2021-12-04T09:51:55.743032 00:00 app[web.1]: opTime: { ts: new Timestamp({ t: 1638611515, i: 13 }), t: 104 }, 2021-12-04T09:51:55.743033 00:00 app[web.1]: electionId: new ObjectId("7fffffff0000000000000068"), 2021-12-04T09:51:55.743033 00:00 app[web.1]: ok: 1, 2021-12-04T09:51:55.743034 00:00 app[web.1]: writeConcernError: { 2021-12-04T09:51:55.743034 00:00 app[web.1]: code: 79, 2021-12-04T09:51:55.743034 00:00 app[web.1]: codeName: 'UnknownReplWriteConcern', 2021-12-04T09:51:55.743035 00:00 app[web.1]: errmsg: `No write concern mode named 'majority\"' found in replica set configuration`, 2021-12-04T09:51:55.743035 00:00 app[web.1]: errInfo: [Object] 2021-12-04T09:51:55.743036 00:00 app[web.1]: }, 2021-12-04T09:51:55.743036 00:00 app[web.1]: '$clusterTime': { 2021-12-04T09:51:55.743036 00:00 app[web.1]: clusterTime: new Timestamp({ t: 1638611515, i: 13 }), 2021-12-04T09:51:55.743036 00:00 app[web.1]: signature: [Object] 2021-12-04T09:51:55.743037 00:00 app[web.1]: }, 2021-12-04T09:51:55.743037 00:00 app[web.1]: operationTime: new Timestamp({ t: 1638611515, i: 13 }) 2021-12-04T09:51:55.743037 00:00 app[web.1]: } 2021-12-04T09:51:55.743037 00:00 app[web.1]: }
решение Я удалил » или «» из MONGO_DB, который находится в настройках heroku, и решил
Комментарии:
1. Какие заголовки вы добавляете в запрос?
2. @ApoorvaChikara Я не добавлял никакого заголовка, когда вызывал его в axios. Также я добавил, как я это называю
3. Журналы heroku показывают, что ошибка связана с mongo. Это не имеет никакого отношения к объекту запроса.