Devolutions / mongodm-rs

A thin ODM layer for mongodb
30 stars 9 forks source link

field! macro can't deal with Enum. #25

Open lithedress opened 1 year ago

lithedress commented 1 year ago
#[derive(Serialize, Deserialize)]
struct Foo {
    e: E,
}

#[derive(Serialize, Deserialize)]
enum E {
    A(Foo1)
}

#[derive(Serialize, Deserialize)]
struct Foo1 {
    f: String,
}

let f = Foo {
    e: E::A(Foo1 {
        f: "field string".to_string(),
    }),
};
println!("{}", bson::to_document(&f).unwrap());

Here we get a result

{ "e": { "A": { "f": "field string" } } }

However, we can't build the path "e.A.f" with field! macro now.