1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
| use std::time::Duration;
use mongodb::{ bson::{doc, Document}, options::ClientOptions, Client, Collection }; use futures::TryStreamExt; use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)] struct Instance { id: u64, instance_id: String, example_status: u8, apply: String, template_code: String, }
#[tokio::main] async fn main() -> mongodb::error::Result<()> { let uri = "mongodb://mongo_testopr:Bpp_2023@10.0.195.200:22001,10.0.195.201:22001,10.0.195.202:22001/bpp_test?authSource=admin&replicaSet=rs1&readPreference=secondaryPreferred";
let mut client_options = ClientOptions::parse(uri).await?; client_options.max_pool_size = Some(50); client_options.min_pool_size = Some(50); client_options.connect_timeout = Some(Duration::from_secs(1)); let client = Client::with_options(client_options)?;
let database = client.database("bpp_test"); let instance_coll: Collection<Document> = database.collection("instance");
let insert_doc = doc! { "id": 222222222222222222i64, "instance_id": "222222222222222222", "example_status": 1, "apply": "duw17", "template_code": "314837782482464786", };
let insert_docs = vec![ doc! { "id": 33333333333333333i64, "instance_id": "33333333333333333", "example_status": 0, "apply": "liuy2905", "template_code": "314837782482464786", }, doc! { "id": 4444444444444444444i64, "instance_id": "4444444444444444444", "example_status": 1, "apply": "duw17", "template_code": "314837782482464786", }, ];
let insert_many_result = instance_coll.insert_many(insert_docs).await?; println!("Inserted documents with _ids:"); for (_key, value) in &insert_many_result.inserted_ids { println!("{}", value); }
Ok(()) }
|