say I have a product listing. When I add a new product I save it using something like
var doc=products.Insert<ProductPDO>(p);
The problem is that I want after this is done to redirect the user to the page with the product. So I need to redirect to say /products/<ObjectID>
However, I see no way of getting the ObjectID right afterwards without manually querying the database and look for a document with all the same fields and such.
Is there an easier way? (also, doc
in this instance returns null for some reason)
The Insert
method automatically sets the property that is declared as the BSON ID of the model.
If declared as follows...
[BsonId]
public ObjectId Id { get; set; }
... then the Id
field will contain the default (new, unique) BSON ID of the object after inserting the object into a collection:
coll.Insert(obj);
// obj.Id is now the BSON ID of the object