sql >> Base de Datos >  >> NoSQL >> MongoDB

MongoDB .NET no genera _id en upsert

Y, por supuesto, encuentro la respuesta inmediatamente después de publicar la pregunta. A partir de esta respuesta, la solución es agregar un [BsonIgnoreIfDefault] atribuir a la identificación. En el ejemplo de la pregunta sería:

public class MongoObject
{
    [BsonId(IdGenerator = typeof(StringObjectIdGenerator))]
    [BsonRepresentation(BsonType.ObjectId)]
    [BsonIgnoreIfDefault]    // <--- this is what was missing
    public string MongoID { get; set; }

    public int Index { get; set; }
}