¿Como obtener el Id del ultimo registro Insertado en MongoDB y C#?

publicado por: Anonymous

Estoy trabajando con MongoDB y c#, esta es la manera en que Inserto Datos.

Mi Clase Empleados

    public class Empleados
    {
        public string Nombre{ get; set; }
        public string Direccion { get; set; }
    }

Método del Botón

Empleados empleado= new Empleados ();
empleado.Nombre= "Rastalovely";
empleado.Direccion= "Mexico";
Insert_Empleados(empleado);

Método Privado

private void Insert_Empleados(Empleados empleado)
    {
        var coleccion = data.GetCollection<BsonDocument>("empleados");
        BsonDocument documento = empleado.ToBsonDocument();
        coleccion.InsertOne(documento);
    }

Lo que Necesito es obtener el Id del ultimo empleado agregado.

solución

Puedes probar

SortByBuilder sbb = new SortByBuilder();
sbb.Descending("_id");
var ultimo = coleccion.FindAllAs<BsonDocument>().SetSortOrder(sbb).SetLimit(1);

extraido de la pregunta de stack over flow en ingles

EDIT

var sortBy = SortBy.Descending("_id");
var ultimo = coleccion.FindAs<BsonDocument>().SetSortOrder(sortby).SetLimit(1);

Prueba :

private void Insert_Empleados(Empleados empleado)
{
    var coleccion = data.GetCollection<BsonDocument>("empleados");
    BsonDocument documento = empleado.ToBsonDocument();
    coleccion.InsertOne(documento);
    SortByBuilder sbb = new SortByBuilder();
    sbb.Descending("_id");
    var ultimo = coleccion.FindAllAs<BsonDocument>().SetSortOrder(sbb).SetLimit(1);
}

EDIT 2

coleccion.Find().SetSortOrder(SortBy.Descending("_id")).SetLimit(1);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published.