There is no bson_init_from_data() counterpart for bson_new_from_data(). Please note, however, that there is bson_init_from_json() for its bson_new_from_json() sibling in case of JSON.
In other words, there is no effective way to initialize a pre-allocated bson_t from a raw data buffer similar to bson_init_from_json(). The only feasible way now is to use a temporary which is sloppy:
bson_t bson; bson_copy_to(bson_new_from_data(data, length), &bson);