Obtener documentos en orden de inserción de una colección limitada
Las colecciones limitadas mantienen los documentos en orden de inserción, por lo que lo ideal es usar orden natural
en lugar de confiar en la marca de tiempo en el _id
generado . Su cursor rastreable leerá documentos en orden natural, por lo que no debe hacer suposiciones basadas en el _id
.
Generando _id
del lado del servidor
Para generar _id
en el lado del servidor usando el controlador C# necesita:
- establecer el atributo de clase
[BsonIgnoreIfDefault]
- establecer el atributo de colección
AssignIdOnInsert = false
- insertar un documento sin un
_id
Ejemplo:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Bson.Serialization.Attributes;
public class MyDoc {
[BsonIgnoreIfDefault]
public ObjectId? Id;
public int X;
}
public static class Program {
public static void Main(string[] args) {
MongoClient client = new MongoClient(); // connect to localhost
var server = client.GetServer ();
var database = server.GetDatabase("test");
var collectionSettings = new MongoCollectionSettings { AssignIdOnInsert = false };
var collection = database.GetCollection<MyDoc>("nullid", collectionSettings);
// Insert document without _id
collection.Insert(new MyDoc { X = 1});
}
}