В настоящее время все, что я прочитал, указывает на то, что вы должны запускать MongoDB как отдельный процесс/службу. Есть ли способ разместить MongoDB в процессе? Если не сейчас, известны ли их планы по реализации такой функции?
Можно ли размещать MongoDB внутри процесса?
Ответы (4)
Основываясь на моем опыте работы с MongoDB и просмотре тикетов системы отслеживания проблем на http://jira.mongodb.org/browse/SERVER, я не знаю, как разместить MongoDB в процессе. Я также не нашел никаких доказательств будущих планов сделать это.
Я бы рекомендовал задать этот вопрос в списке рассылки пользователей mongodb: http://groups.google.com/group/mongodb-user
MongoDB имеет лицензию GNU AGPL, поэтому, если вы включите (ссылку) в свое приложение, исходный код этого приложения также будет иметь лицензию GNU AGPL. Конечно, вы можете запускать MongoDB из своего приложения при запуске и снова завершать MongoDB, когда приложение останавливается.
Вы можете использовать библиотеку Embedded MongoDB, хотя она и предназначена для модульного тестирования.
В другом вопросе о переполнении стека есть ответы, относящиеся к этому вопросу.
Встроенная MongoDB при выполнении интеграционных тестов
В частности, упоминается MongoDB в памяти для JVM с именем Fongo.
Похоже, Fongo в основном предназначен для интеграционных тестов и/или обучения. Он может не обрабатывать все варианты использования Mongo, но на него стоит обратить внимание.
https://github.com/fakemongo/fongo