MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

wie man das Feld _id verwaltet, wenn man POCO mit dem c#-Treiber von mongodb verwendet

Wenn Sie ein Objekt einfügen, wenn es keine _id hat Feld hinzu, dann fügt der Treiber eins hinzu und setzt es auf einen 12-Byte-MongoDB-ObjectId-Wert.

Sie müssen nur eine Id hinzufügen -Eigenschaft zu Ihrem POCO, das von _id deserialisiert wird :

public class Thingy
{
     public ObjectId Id { get; set; }
}

Oder wenn Sie eine andere Eigenschaft zur Zuordnung zu _id delegieren möchten dann können Sie es mit dem BsonIdAttribute schmücken , etwa so:

[BsonId]
public ObjectId MyKey { get; set; }   

Die _id Das Feld muss keine ObjectId von MongoDB sein , Sie können es auf jeden Wert eines beliebigen Datentyps (außer einem Array) setzen, es muss nur innerhalb der Sammlung eindeutig sein.