diff --git a/src/decoder/serde.rs b/src/decoder/serde.rs index f20ea4b5..fe99463e 100644 --- a/src/decoder/serde.rs +++ b/src/decoder/serde.rs @@ -592,12 +592,12 @@ impl<'de> Deserialize<'de> for TimeStamp { match Bson::deserialize(deserializer)? { Bson::TimeStamp(ts) => { - let ts = ts.to_be(); + let ts = ts.to_le(); Ok(TimeStamp { t: ((ts as u64) >> 32) as u32, i: (ts & 0xFFFF_FFFF) as u32, }) } - _ => Err(D::Error::custom("expecting UtcDateTime")), + _ => Err(D::Error::custom("expecting TimeStamp")), } } } diff --git a/tests/serde.rs b/tests/serde.rs index 569c83fb..59809494 100644 --- a/tests/serde.rs +++ b/tests/serde.rs @@ -69,7 +69,7 @@ fn test_de_timestamp() { } let foo: Foo = bson::from_bson(Bson::Document(doc! { - "ts": Bson::TimeStamp(0x0A00_0000_0C00_0000), + "ts": Bson::TimeStamp(0x0000_000C_0000_000A), })).unwrap(); assert_eq!(foo.ts, TimeStamp { t: 12, i: 10 });