MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Cách sử dụng kiểu thập phân trong MongoDB

MongoDB không hỗ trợ đúng số thập phân cho đến khi MongoDB v3.4. Trước phiên bản này, nó đã lưu trữ số thập phân dưới dạng chuỗi để tránh lỗi chính xác.

Trước v3.4 Lưu trữ số thập phân dưới dạng chuỗi, nhưng điều này ngăn cản các hoạt động số học. Các toán tử là $min , $avg , ... sẽ không khả dụng. Nếu độ chính xác không phải là vấn đề lớn, thì bạn có thể chuyển sang double .

v3.4 + Bạn cần đảm bảo các điều kiện tiên quyết sau là đúng:

  • Máy chủ MongoDB tối thiểu phải là v3.4.
  • MongoCSharpDriver tối thiểu phải là v2.4.3.
  • Cơ sở dữ liệu phải có featureCompatibilityVersion đặt thành '3.4' . Nếu cơ sở dữ liệu của bạn đã được tạo bằng phiên bản MongoDB cũ hơn và bạn đã nâng cấp máy chủ của mình lên v3.4 thì cơ sở dữ liệu của bạn có thể vẫn ở phiên bản cũ hơn.

Nếu bạn đã đặt tất cả các thuộc tính, hãy đăng ký bộ tuần tự hóa sau để sử dụng decimal128 loại:

BsonSerializer.RegisterSerializer(typeof(decimal), new DecimalSerializer(BsonType.Decimal128));
BsonSerializer.RegisterSerializer(typeof(decimal?), new NullableSerializer<decimal>(new DecimalSerializer(BsonType.Decimal128)));


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tại sao Mongodb hoạt động tốt hơn trên Linux so với Windows?

  2. Thứ tự tài liệu trả lại của Mongodb find

  3. Nhận ID tài liệu được chèn lần cuối trong MongoDB với trình điều khiển Java

  4. Lấy một giá trị từ MongoDB theo tên khóa của nó

  5. Mongodb và MAMP