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.