Ao inserir um objeto, se ele não tiver um
_id
campo, o driver adiciona um e o define como um valor de ObjectId do MongoDB de 12 bytes. Você só precisa adicionar um
Id
propriedade para seu POCO, que será desserializado de _id
:public class Thingy
{
public ObjectId Id { get; set; }
}
Ou, se você quiser delegar outra propriedade para mapear em
_id
então você pode decorá-lo com o BsonIdAttribute
, assim:[BsonId]
public ObjectId MyKey { get; set; }
O
_id
campo não precisa ser um ObjectId
do MongoDB , você pode configurá-lo para qualquer valor de qualquer tipo de dados (exceto uma matriz), ele só precisa ser exclusivo dentro da coleção.