I have seen that this question seems to have been asked earlier (almost 3 years ago), but since then there might be lot of changes in the reactive mongo library.
I am using the play plugin with version 2.4, but the reactivemongo.api.commands.WriteResult does not seem to have any API to get the document object id.
Now I can start setting the object id by myself, but I do not find it a convincing and right idea since some value unique on the machine where I create the id might not be same with the other machine and to keep things simple I want to let this being handled by mongo db.
So yeah if there is some way that I can get the id of the inserted document will be great or else I have to fallback to the way to setting the id by myself which I something I am trying to avoid.
ObjectId on the client side is fine. It's what
casbah (a blocking MongoDB driver for MongoDB) is doing if you dig into its code.
If you take a look at
ObjectId fields, then you'll find
a 3-byte machine identifier among others. It's calculated tricky (involving
InetAddress in standard Java driver). It guarantees that there cannot be a collision between 2
ObjectIds, generated at the same time on different machines.