Câu trả lời cho câu hỏi của bạn là "có, nhưng ...".
Nó là có thể có một thành viên được gọi là Id mà không được ánh xạ tới phần tử _id. Ví dụ:
public class X {
[BsonId]
public ObjectId MyId;
}
public class Y : X {
public string Id;
}
Tuy nhiên, trong phân cấp lớp, thành viên _id phải là gốc của hệ thống phân cấp (nói cách khác, tất cả các thành viên của hệ thống phân cấp phải đồng ý về việc sử dụng cùng một _id).