Bạn có thể sử dụng một bản đồ chung, ví dụ:
var result map[string]interface{}
err := collection.Find(query).One(&result)
Bạn sẽ tìm thấy những người đang sử dụng bson.M
, cũng là một bản đồ có cùng loại cơ bản đó. Không có gì đặc biệt về bson.M
, Tuy nhiên. Nó chỉ là một cái tên ngắn gọn và tiện lợi cho một tấm bản đồ. Bạn có thể tạo tên thuận tiện của riêng mình hoặc sử dụng bản đồ đơn giản như trong ví dụ trên.
Một cách khác để có quyền truy cập vào tài liệu mà không có lược đồ xác định là sử dụng bson.D
thay cho loại bản đồ trên. bson.D
hữu ích nhất khi thứ tự của các phần tử trong tài liệu có liên quan hoặc nếu bạn muốn giảm chi phí hoạt động một chút (bản đồ đắt hơn một chút để xử lý do tính chất của chúng). bson.D
kiểu là một phần của giá trị cấu trúc với các cặp Khóa / Giá trị. Không giống như bson.M
, bson.D
là đặc biệt và được xử lý nội bộ bởi gói mgo / bson.