See this issue for more details:
Passing a map like this seems like a reasonable use case. Ideally, we'd be able to accept anything type that produces an iterator of (impl Into<String>, impl Into<Bson>) pairs. We could potentially implement a conversion like this for Document or amend this existing implementation to be more permissive. We'd then need to update the doc!/bson! macros to accept this kind of trait impl.