Sky*_*ndt 3 javascript mongoose mongodb node.js
编辑(自从我问这个问题以来已经有一整天了,但我仍然没有找到答案)
编辑(这个 mongodb 内存服务器在我的 ubuntu 笔记本电脑上运行良好)
我正在尝试运行 mongo 内存服务器,但出现错误,这是代码
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,
});
})();
Run Code Online (Sandbox Code Playgroud)
这是在我的文件上运行的错误node --trace-warnings(我还为 mongo 内存服务器打开了 debig)
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
Run Code Online (Sandbox Code Playgroud)
我完全不知道发生了什么,并且已经被困了很长一段时间,任何帮助将不胜感激,
操作系统:Windows 10,节点版本:14.17.0,mongodb-memory-server版本:6.9.6,mongoose版本:5.12.11,
小智 15
我刚刚遇到了相同/类似的问题,结果是 mongodb-memory-server 版本已更新到 7.0.0,如更改日志中所述
MongoMemoryServer:删除选项“autoStart”更改“MongoMemoryServer.create”以始终调用“MongoMemoryServer.start” MongoMemoryServer:更改“MongoMemoryServer.getUri”以同步 MongoMemoryServer:删除已弃用的函数“getConnectionString”(替换为“getUri”)
autoStart已被删除,并且getUri不再是异步函数,因此您可以做的一件事是:
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,
});
})();
Run Code Online (Sandbox Code Playgroud)
小智 8
基于当前版本(8.0),您不应该显式实例化 MongoMemoryServer。下面的代码将创建“MongoMemoryServer”的新实例并自动启动它。
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,
});
})();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12073 次 |
| 最近记录: |