How to insert unsigned_int64 values ( 20 digit value ) to document using mongocxx


I am using nlohmann::json library to create json data, then converting it using (bsoncxx::from_json) before inserting it into mongdb collection, but when i have 20digit ineteger data ( unsigned int 64 ), it raises “out of range” exception, is there any casting to be done before insertion ?
also i simply tested in db shell - inserting signed int64 - max value ( 19 digit ) and in that also last 2-3 digit were rest to zero.

Does mongo support signed int 64 range ? if yes then why the last digits were reset to zero.
Does mongo support unsigned_int 64 ?