Ich habe ein einfaches Objekt mit Gettern und Sätzen erstellt:
%Vor%Nun möchte ich ein neues Mitglied in die Datenbank einfügen mit:
%Vor%Ich würde erwarten, dass insert eine eindeutige _id (Id) erzeugt, aber das passiert nicht. Nach dem Einfügen, wenn ich das _id-Feld anzeigen bekomme ich "0000000 ...."
Was muss ich tun, damit Mongo beim Einfügen eine eigene _id erzeugt?
Markieren Sie einfach Ihre Id-Eigenschaft mit [BsonId]
-Attribut, und der generierte ID-Wert ist da!
Oder ein anderer Weg, vorgeschlagen von @Kobi: "_id Feldname anstelle von ID" sollte auch funktionieren.
Ich verwende eine Kombination aus dem Attribut [BsonId]
und dem Konstruktor, um den Id-Wert zu erstellen.
Zum Beispiel
%Vor%Dies ist so, dass ich immer ein ausgefülltes Id-Feld für das Objekt habe. Wenn die Entität aus der Datenbank abgerufen wird, wird das ID-Feld mit dem tatsächlichen ID-Wert aus der Datenbank überschrieben. Gewinne gewinnen.
Verwenden Sie [BsonId]
für die eindeutige Eigenschaft, die Sie verwenden möchten. Sie können sogar den ObjectID
-Typ ignorieren und Ihren eigenen erstellen.
Zum Beispiel:
%Vor%Tags und Links c# mongodb mongodb-.net-driver