sql >> Databasteknik >  >> NoSQL >> MongoDB

hur man hanterar _id-fältet när man använder POCO med mongodb c#-drivrutinen

När du infogar ett objekt, om det inte har ett _id fältet lägger drivrutinen till en och ställer in den till ett 12-byte MongoDB ObjectId-värde.

Du behöver bara lägga till ett Id egendom till din POCO, som kommer att deserialiseras från _id :

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

Eller om du vill delegera en annan egendom att mappa till _id sedan kan du dekorera den med BsonIdAttribute , så här:

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

_id fältet behöver inte vara ett MongoDB ObjectId , du kan ställa in det på vilket värde som helst av vilken datatyp som helst (förutom en array), den behöver bara vara unik i samlingen.



  1. Att uppdatera sökvägen 'x' skulle skapa en konflikt vid 'x'

  2. Hur skapar jag en MongoDB-dump av min databas?

  3. Vad är fördelen med att använda Gorilla sessions anpassad backend?

  4. Mongodb räknar alla arrayelement i alla objekt som matchar efter kriterier