MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

como gerenciar o campo _id ao usar POCO com o driver mongodb c #


Ao inserir um objeto, se ele não tiver um _id campo, o driver adiciona um e o define como um valor de ObjectId do MongoDB de 12 bytes.

Você só precisa adicionar um Id propriedade para seu POCO, que será desserializado de _id :
public class Thingy
{
     public ObjectId Id { get; set; }
}

Ou, se você quiser delegar outra propriedade para mapear em _id então você pode decorá-lo com o BsonIdAttribute , assim:
[BsonId]
public ObjectId MyKey { get; set; }   

O _id campo não precisa ser um ObjectId do MongoDB , você pode configurá-lo para qualquer valor de qualquer tipo de dados (exceto uma matriz), ele só precisa ser exclusivo dentro da coleção.