我最近将mongoDB配置为在启动进程时使用--auth。
现在我需要更改访问Javacode和测试。对于测试,我使用像MongodStarter这样的flapdoodle工具。
有一些示例代码但我仍然需要帮助来构建正确的代码以使用--auth选项启动MongodStarter。 例如,我可以这样做
MongodStarter runtime = MongodStarter.getDefaultInstance();
IMongoCmdOptions cmdOptions = new MongoCmdOptionsBuilder.MongoCmdOptions(null, null, true, false, false, false, false, true, true)
def mongodConfig = new MongodConfigBuilder.ImmutableMongodConfig(Version.V3_0_4, new Net(27017, Network.localhostIsIPv6()),new Timeout(), cmdOptions, "CT.pid", new Storage(), false, null, new HashMap())
mongodExe = runtime.prepare(mongodConfig);
mongod = mongodExe.start();
mongo = new Mongo("localhost", 27017);
但是在.MongoCmdOptions() - 方法中有很多参数,我不关心这些参数,也不知道合适的值。只有第8个是我想要使用的那个。它是--auth param。用其他值填充其他值,我得到例外。
我与MongodConfigBuilder.ImmutableMongodConfig()有类似的问题。我给它添加了一些幻想值,因为它有很多。
你能给我一个我可以测试的工作示例配置吗?我现在精心制作了几天,但仍未找到配置类型和值的良好组合。我可以想象,有一种更简单的方法,但我找不到一个例子。
答案 0 :(得分:1)
This "embedded-services" library具有flapdoodle's Embedded MongoDB内置的身份验证配置。您想要的完整工作示例位于MongoEmbeddedService.java file(line 179)
使用此工具而不是编写自己的工具并不是一个坏主意。否则,请确保自己创建管理员用户。