mongo_data_exporter

Crates.iomongo_data_exporter
lib.rsmongo_data_exporter
version0.1.3
sourcesrc
created_at2024-06-17 03:57:25.331759
updated_at2024-06-21 02:15:33.723648
descriptionA simple MongoDB data exporter to another MongoDB instance
homepage
repositoryhttps://github.com/mahendrakevin/mongo_data_exporter
max_upload_size
id1273995
size68,108
Kevin Indra Mahendra (mahendrakevin)

documentation

README

Mongo Data Exporter

This is a simple tool to export data from a MongoDB database to another MongoDB database instance. It is fully written in Rust.

crates.io Documentation MSRV dependency status
MIT or Apache 2.0 licensed CI downloads

Dependencies:

[dependencies]
async-trait = "0.1.80"
mongodb = { version = "2.8.2", features = ["bson-chrono-0_4"] }
tokio = { version = "1.38.0", features = ["rt", "rt-multi-thread", "macros"] }
chrono = "0.4.38"
futures = "0.3.30"

Usage:

use mongo_data_exporter::export;
use mongo_data_exporter::operations::{MongoDBConnection, Operation};

#[tokio::main]
async fn main() {
    // Source database connection
    let source_db_dr = MongoDBConnection::new("mongodb://localhost:27017/test", "test", "test-collection").await;
    
    // Target database connection
    let target_db_dr = MongoDBConnection::new("mongodb://localhost2:27017/test", "test", "test-collection").await;

    // Create export operation, you can specify the batch size and the limit data to export
    let mut export_dr = export::Export::init(source_db_dr, target_db_dr, 10000, None).await;
    
    // Start the export operation
    export_dr.start_export().await;
}

License

This project is licensed under either of the following licenses, at your option:

Commit count: 28

cargo fmt