没有端口的嵌入式mongo(完全在内存中)[重复]

Posted

技术标签:

【中文标题】没有端口的嵌入式mongo(完全在内存中)[重复]【英文标题】:Embedded mongo without port(fully in-memory) [duplicate] 【发布时间】:2016-08-02 15:42:45 【问题描述】:

是否有可能在不占用端口的情况下在内存中运行 mongo。一些嵌入式 SQL 数据库的工作方式相同。 我们目前正在使用 Flapdoodle,但它似乎只能在单独进程中的单独端口上工作。当阻止我们这样做时,是否存在 mongo 级别的限制? 我想在不暴露额外端口的情况下运行我的集成测试。

【问题讨论】:

***.com/questions/6115637/… 【参考方案1】:

不,mongodb 不能以这种方式嵌入。您实际上可以从您的 java 应用程序或测试中将其作为子进程启动,但由于 java 驱动程序始终通过 tcp 进行通信,因此您将无法没有端口。

【讨论】:

【参考方案2】:

您的 MongoDB 实例将在 127.0.0.1:27017 可用。它默认绑定到 localhost,其配置详细信息可以在 /etc/mongod.conf 中找到。要使用 MongoDB shell 连接到测试数据库,只需运行:

蒙哥

您可以使用以下方式通过 SSH 隧道远程访问您的 MongoDB 实例:

ssh -L 4321:localhost:27017 user@your.ip.address -f -N mongo --port 4321

【讨论】:

以上是关于没有端口的嵌入式mongo(完全在内存中)[重复]的主要内容,如果未能解决你的问题,请参考以下文章

在两个不同的集合中生成重复的 Mongo ObjectId 的可能性?

Mongo 在 Meteor 应用程序中的 _id_ 字段上给出重复键错误

带有嵌入式类型查询的 Mongo/DataNucleus/JPA 给出:找不到(部分)的类型...因为符号没有类型;隐式变量?

如何为嵌入式 mongo (flapdoodle) 全局设置 WriteConcern 以修复间歇性测试失败

哪些真实平台将硬件端口映射到内存地址?

docker 在不同的端口上运行 mongo 映像