最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Mongo Memory Server is not starting at all - Stack Overflow

programmeradmin3浏览0评论

EDIT (its been a entire day since I asked the question and still no luck on finding an answer on my end)

EDIT (this mongodb memory server works fine on my ubuntu laptop)

I am trying to run mongo memory server and am getting a error here is the code

const { MongoMemoryServer } = require("mongodb-memory-server");
const mongoose = require("mongoose");

(async () => {
  const mongod = new MongoMemoryServer();
  const mongoUri = await mongod.getUri();

  await mongoose.connect(mongoUri, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  });
})();

here is the error from running node --trace-warnings on my file (I also turned debig on for mongo memory server)

  MongoMS:MongoMemoryServer Called MongoMemoryServer.ensureInstance() method +0ms
  MongoMS:MongoMemoryServer  - no running instance, call `start()` command +1ms
  MongoMS:MongoMemoryServer Called MongoMemoryServer.start() method +0ms
  MongoMS:MongoMemoryServer starting with port 57263, since undefined was locked: 57263 +6ms
  MongoMS:MongoMemoryServer Starting MongoDB instance with following options: {"port":57263,"dbName":"cf1c3af6-a5d2-4336-b79b-a96fda68286d","ip":"127.0.0.1","storageEngine":"ephemeralForTest","dbPath":"C:\\Users\\skyle\\AppData\\Local\\Temp\\mongo-mem--10532-zQjLbcla6wmr","tmpDir":{"n,"storageEngine":"ephemeralForTest","dbPath":"C:\\Users\\skyle\\AppData\\Local\\Temp\\mongo-mem--10532-zQjLbcla6wmr","tmpDir":{"name":"C:\\Users\\skyle\\Appl\\Temp\\m},"uri":"mongodb://127.0.0.1:Data\\Local\\Temp\\mongo-mem--10532-zQjLbcla6wmr"},"uri":"mongodb://127.0.0.1:57263/cf1c3af6-a5d2-4336-b79b-a96fda68286d?"} +2ms
  MongoMS:MongoBinary MongoBinary options: {
  "downloadDir": "D:\\code\\thing\\node_modules\\.cache\\mongodb-memory-server\\mongodb-binaries",
  "platform": "win32",
  "arch": "x64",
  "version": "4.0.14",
  "checkMD5": false
} +0ms
  MongoMS:MongoBinary MongoBinary: Download lock removed +6ms
  MongoMS:MongoInstance Mongo[57263]: Called MongoInstance._launchKiller(parent: 10532, child: 5804): +0ms
  MongoMS:MongoInstance Mongo[57263]: Mongod instance closed with an non-0 code! +7ms
  MongoMS:MongoInstance Mongo[57263]: CLOSE: 3221225781 +0ms
  MongoMS:MongoInstance Mongo[57263]: MongodbInstance: Instance has failed: Mongod instance closed with code "3221225781" +1ms
(node:10532) UnhandledPromiseRejectionWarning: Mongod instance closed with code "3221225781"
    at emitUnhandledRejectionWarning (internal/process/promises.js:170:15)
    at processPromiseRejections (internal/process/promises.js:247:11)
    at processTicksAndRejections (internal/process/task_queues.js:96:32)
(node:10532) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a c                                       hich was not handled with .catch(). To terminate the node process on unhandled promise rejatch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `-atch block, or by rejecting a promise w-unhandled-rejections=strict` (see .html#cli_unhandled_rejections_mode). (rejection id: 1)                                        -rejection/api/cli.html#cli_unhandlxit code.
(node:10532) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.                                                                                                            e the Node.js process with a non-zero e
    at emitDeprecationWarning (internal/process/promises.js:180:11)
    at processPromiseRejections (internal/process/promises.js:249:13)
    at processTicksAndRejections (internal/process/task_queues.js:96:32)
  MongoMS:MongoInstance Mongo[57263]: [MongoKiller]: exit - [null,"SIGTERM"] +2ms

I have absolutely 0 idea whats going on and have been stuck for quite some time any help would be appreciated,

OS: Windows 10, node version: 14.17.0, mongodb-memory-server version: 6.9.6, mongoose version: 5.12.11,

EDIT (its been a entire day since I asked the question and still no luck on finding an answer on my end)

EDIT (this mongodb memory server works fine on my ubuntu laptop)

I am trying to run mongo memory server and am getting a error here is the code

const { MongoMemoryServer } = require("mongodb-memory-server");
const mongoose = require("mongoose");

(async () => {
  const mongod = new MongoMemoryServer();
  const mongoUri = await mongod.getUri();

  await mongoose.connect(mongoUri, {
    useNewUrlParser: true,
    useUnifiedTopology: true,
  });
})();

here is the error from running node --trace-warnings on my file (I also turned debig on for mongo memory server)

  MongoMS:MongoMemoryServer Called MongoMemoryServer.ensureInstance() method +0ms
  MongoMS:MongoMemoryServer  - no running instance, call `start()` command +1ms
  MongoMS:MongoMemoryServer Called MongoMemoryServer.start() method +0ms
  MongoMS:MongoMemoryServer starting with port 57263, since undefined was locked: 57263 +6ms
  MongoMS:MongoMemoryServer Starting MongoDB instance with following options: {"port":57263,"dbName":"cf1c3af6-a5d2-4336-b79b-a96fda68286d","ip":"127.0.0.1","storageEngine":"ephemeralForTest","dbPath":"C:\\Users\\skyle\\AppData\\Local\\Temp\\mongo-mem--10532-zQjLbcla6wmr","tmpDir":{"n,"storageEngine":"ephemeralForTest","dbPath":"C:\\Users\\skyle\\AppData\\Local\\Temp\\mongo-mem--10532-zQjLbcla6wmr","tmpDir":{"name":"C:\\Users\\skyle\\Appl\\Temp\\m},"uri":"mongodb://127.0.0.1:Data\\Local\\Temp\\mongo-mem--10532-zQjLbcla6wmr"},"uri":"mongodb://127.0.0.1:57263/cf1c3af6-a5d2-4336-b79b-a96fda68286d?"} +2ms
  MongoMS:MongoBinary MongoBinary options: {
  "downloadDir": "D:\\code\\thing\\node_modules\\.cache\\mongodb-memory-server\\mongodb-binaries",
  "platform": "win32",
  "arch": "x64",
  "version": "4.0.14",
  "checkMD5": false
} +0ms
  MongoMS:MongoBinary MongoBinary: Download lock removed +6ms
  MongoMS:MongoInstance Mongo[57263]: Called MongoInstance._launchKiller(parent: 10532, child: 5804): +0ms
  MongoMS:MongoInstance Mongo[57263]: Mongod instance closed with an non-0 code! +7ms
  MongoMS:MongoInstance Mongo[57263]: CLOSE: 3221225781 +0ms
  MongoMS:MongoInstance Mongo[57263]: MongodbInstance: Instance has failed: Mongod instance closed with code "3221225781" +1ms
(node:10532) UnhandledPromiseRejectionWarning: Mongod instance closed with code "3221225781"
    at emitUnhandledRejectionWarning (internal/process/promises.js:170:15)
    at processPromiseRejections (internal/process/promises.js:247:11)
    at processTicksAndRejections (internal/process/task_queues.js:96:32)
(node:10532) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a c                                       hich was not handled with .catch(). To terminate the node process on unhandled promise rejatch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `-atch block, or by rejecting a promise w-unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)                                        -rejection.org/api/cli.html#cli_unhandlxit code.
(node:10532) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.                                                                                                            e the Node.js process with a non-zero e
    at emitDeprecationWarning (internal/process/promises.js:180:11)
    at processPromiseRejections (internal/process/promises.js:249:13)
    at processTicksAndRejections (internal/process/task_queues.js:96:32)
  MongoMS:MongoInstance Mongo[57263]: [MongoKiller]: exit - [null,"SIGTERM"] +2ms

I have absolutely 0 idea whats going on and have been stuck for quite some time any help would be appreciated,

OS: Windows 10, node version: 14.17.0, mongodb-memory-server version: 6.9.6, mongoose version: 5.12.11,

Share Improve this question edited May 27, 2021 at 3:14 Skyler Brandt asked May 26, 2021 at 6:59 Skyler BrandtSkyler Brandt 971 gold badge2 silver badges5 bronze badges 4
  • 1 Have you try starting the mongod instance ? – Roshan Raj Commented May 26, 2021 at 7:26
  • yeah so when you instantiate the MongoMemoryServer it has options that can be passed to it and autoStart is already defaulted to true, so it is started (and even when I manually start it with await mongod.start() the error is still there) – Skyler Brandt Commented May 26, 2021 at 7:36
  • Which user runs the MongoDB? Folder C:\Users\skyle may not give write permissions to the Mongo user. Does folder C:\Users\skyle\AppData\Local\Temp\mongo-mem--10532-zQjLbcla6wmr exists? – Wernfried Domscheit Commented May 26, 2021 at 7:39
  • @WernfriedDomscheit here is a image of all the mongo-mem folders found in that location. gyazo.com/8f7513cc06211d901b92c463b0c0a117 none of them are exactly mongo-mem--10532-zQjLbcla6wmr like you said. is this a problem? – Skyler Brandt Commented May 26, 2021 at 7:42
Add a comment  | 

2 Answers 2

Reset to default 15

I just went trough the same/similar issue, it turned out to be the mongodb-memory-server version was updated to 7.0.0, and as stated in the changelog

MongoMemoryServer: remove option "autoStart" change "MongoMemoryServer.create" to always call "MongoMemoryServer.start" MongoMemoryServer: change "MongoMemoryServer.getUri" to be sync MongoMemoryServer: remove deprecated function "getConnectionString" (replace with "getUri")

autoStart is removed, and getUri is no longer an async function, so one thing you could do is:

const { MongoMemoryServer } = require("mongodb-memory-server");
const mongoose = require("mongoose");

(async () => {
    const mongod = new MongoMemoryServer();
    await mongod.start();
    const mongoUri = mongod.getUri();
    
    await mongoose.connect(mongoUri, {
        useNewUrlParser: true,
        useUnifiedTopology: true,
    });
})();

Based on the current version (8.0), you should not instantiate explicitly MongoMemoryServer. The code below will create an new instance of "MongoMemoryServer" and automatically start it.

const { MongoMemoryServer } = require("mongodb-memory-server");
const mongoose = require("mongoose");

(async () => {
    mongoServer = await MongoMemoryServer.create();
    const mongoUri = mongoServer.getUri();
    
    await mongoose.connect(mongoUri, {
        useNewUrlParser: true,
        useUnifiedTopology: true,
    });
})();
发布评论

评论列表(0)

  1. 暂无评论