use mongodb::bson::doc; use mongodb::Database; use serde::{Deserialize, Serialize}; use spark_orm::Spark; use spark_orm_derive::Model; use std::fmt::Debug; use std::sync::Arc; #[Model(coll_name = "users")] #[derive(Serialize, Deserialize, Default, Debug)] struct User { #[index] name: String, age: u64, collect: W, } // impl Observer> for User // where // W: Serialize, // W: Debug, // W: Unpin, // W: Sync, // W: Send, // W: Default, // W: DeserializeOwned, // { // } #[derive(Deserialize, Serialize, Default, Debug)] struct Product { name: String, } // impl From> for Document // where // W: DeserializeOwned, // W: Serialize, // W: Debug, // W: Unpin, // W: Sync, // W: Send, // W: Default // { // fn from(value: User) -> Self { // doc! {} // } // } // impl From> for Document{ // fn from(value: User) -> Self { // doc! {} // } // } #[tokio::test] async fn main_generic() { let db = get_db().await; let user = User::::new_model(Some(&db)); let ud = User::::default(); user.find(&ud, None).await.unwrap(); } async fn get_db() -> Arc { Spark::global_connect("root", "123", "localhost", "6789", "rm_orm_db").await }