1

Mongo2Go 介绍

 4 years ago
source link: http://www.cnblogs.com/shanyou/p/12234575.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

YfuqUzF.png!web

Mongo2Go( https://github.com/Mongo2Go/Mongo2Go )是最新的MongoDB二进制文件的托管包装, 它针对 .NET Standard 1.6 (对于 .NET 4.6 ),并且可与Windows,Linux和macOS一起使用。此Nuget软件包包含 适用于Windows,Linux和macOSmongodmongoimportmongoexport 的可执行文件,并且应该也可以在更高版本中使用。

Mongo2Go有两个用例:

  1. 提供多个,临时的和隔离的MongoDB数据库用于单元测试(或者确切地说是集成测试)
  2. 为本地开发人员环境提供快速设置的MongoDB数据库

单元测试/集成测试

集成测试是企业发展中经常被忽视的领域。 这主要是由于为集成测试设置必要的基础架构的相关复杂性。 对于由数据库支持的应用程序,为集成测试设置数据库,并且一旦测试完成(例如,数据文件,模式等),就需要相当复杂和耗时,以确保测试的可重复性。 我们可以轻松地设置嵌入式MongoDB实例进行测试,一旦测试完成,内置的清理支持。ABP VNext 的数据库如果是MongoDB,它使用Mongo2Go作为集成测试时的数据库。

每次调用静态方法 MongoDbRunner.Start() 都会建立一个新的MongoDB实例。将使用一个空闲端口(从端口27018开始),并创建一个相应的数据目录。该方法返回MongoDbRunner的实例,该实例实现IDisposable。一旦释放MongoDbRunner(或者如果GC调用了终结器),包装的MongoDB进程将被杀死,并且数据目录中的所有数据都将被删除。

本地调试

在这种模式下,将在默认端口(27017)上启动一个MongoDB实例。没有数据将被删除,并且MongoDB实例不会被自动杀死。多次调用 MongoDbRunner.StartForDebugging() 将返回状态为“ AlreadyRunning”的实例。您可以忽略IDisposable接口,因为它没有任何作用。 我强烈建议不要在生产机器上使用此模式! 在这里,您应该按照手册中的描述设置一个MongoDB。为了您的方便,MongoDbRunner还公开了  mongoexport 和  mongoimport ,使您可以快速设置工作环境。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK