मुझे एंबेडेड मोंगोडीबी पुस्तकालय मिला है जो काफी आशाजनक दिखता है और जो आपने मांगा है वह करता है।
वर्तमान में MongoDB संस्करणों का समर्थन करता है:1.6.5
से 3.1.6
, बशर्ते बायनेरिज़ अभी भी कॉन्फ़िगर किए गए दर्पण से उपलब्ध हों।
यहां उपयोग का संक्षिप्त उदाहरण दिया गया है, जिसे मैंने अभी-अभी आजमाया है और यह पूरी तरह से काम करता है:
public class EmbeddedMongoTest {
private static final String DATABASE_NAME = "embedded";
private MongodExecutable mongodExe;
private MongodProcess mongod;
private Mongo mongo;
@Before
public void beforeEach() throws Exception {
MongoDBRuntime runtime = MongoDBRuntime.getDefaultInstance();
mongodExe = runtime.prepare(new MongodConfig(Version.V2_3_0, 12345, Network.localhostIsIPv6()));
mongod = mongodExe.start();
mongo = new Mongo("localhost", 12345);
}
@After
public void afterEach() throws Exception {
if (this.mongod != null) {
this.mongod.stop();
this.mongodExe.stop();
}
}
@Test
public void shouldCreateNewObjectInEmbeddedMongoDb() {
// given
DB db = mongo.getDB(DATABASE_NAME);
DBCollection col = db.createCollection("testCollection", new BasicDBObject());
// when
col.save(new BasicDBObject("testDoc", new Date()));
// then
assertThat(col.getCount(), Matchers.is(1L));
}
}