Lấy tài liệu theo thứ tự chèn từ bộ sưu tập có giới hạn
Bộ sưu tập có giới hạn duy trì tài liệu theo thứ tự chèn, vì vậy, lý tưởng là bạn nên sử dụng trật tự tự nhiên
thay vì dựa vào dấu thời gian trong _id
được tạo . Con trỏ có thể điều chỉnh của bạn sẽ đọc tài liệu theo thứ tự tự nhiên, vì vậy không nên đưa ra bất kỳ giả định nào dựa trên _id
.
Tạo _id
phía máy chủ
Để tạo _id
ở phía máy chủ bằng cách sử dụng trình điều khiển C # bạn cần:
- đặt thuộc tính lớp
[BsonIgnoreIfDefault]
- đặt thuộc tính tập hợp
AssignIdOnInsert = false
- chèn tài liệu không có
_id
Ví dụ:
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});
}
}