Lorsque vous insérez un objet, s'il n'a pas de _id puis le pilote en ajoute un et le définit sur une valeur MongoDB ObjectId de 12 octets.
Il vous suffit d'ajouter un Id propriété à votre POCO, qui sera désérialisé à partir de _id :
public class Thingy
{
public ObjectId Id { get; set; }
}
Ou, si vous souhaitez déléguer une autre propriété à mapper sur _id alors vous pouvez le décorer avec le BsonIdAttribute , comme ceci :
[BsonId]
public ObjectId MyKey { get; set; }
Le _id le champ ne doit pas nécessairement être un ObjectId MongoDB , vous pouvez le définir sur n'importe quelle valeur de n'importe quel type de données (à l'exception d'un tableau), il doit juste être unique dans la collection.