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

Có kích thước bson tối đa MongoDB hoạt động xung quanh không?

Một điều bạn có thể làm là xây dựng mongoDB của riêng bạn :-). Mongodb là một nguồn mở và giới hạn về kích thước của tài liệu là khá tùy ý để thực thi thiết kế giản đồ tốt hơn . Bạn chỉ có thể sửa đổi dòng này và xây dựng nó cho chính bạn. Hãy cẩn thận với điều này.

Ý tưởng đơn giản nhất là có mỗi câu hỏi nhỏ trong một tài liệu khác nhau với một trường tham chiếu đến trường gốc của nó.

Một ý tưởng khác là giới hạn số lượng tài liệu trong tài liệu gốc . Giả sử bạn giới hạn là N phần tử thì phần tử gốc trông như thế này:

{
  _id : ObjectId(),
  id : { type: Number, required: true },
  created: { type: Date, default: Date.now },  // you can store it only for the first element
  last_modified: { type: Date, default: Date.now }, // the same here
  data : [{
    id: 65,
    question: {
        test: "some questions",
        answers: [2,5,6]
    }
  }, ... up to N of such things {}
  ]
}

Bằng cách này, sửa đổi số N, bạn có thể đảm bảo rằng bạn sẽ có 16 MB BSON. Và để đọc toàn bộ khảo sát, bạn có thể chọn

db.coll.find({id: the Id you need}) và sau đó kết hợp toàn bộ cuộc khảo sát ở cấp độ ứng dụng. Cũng đừng quên ensureIndex trên id .

Hãy thử những thứ khác nhau, làm điểm chuẩn trên dữ liệu của bạn và xem điều gì phù hợp với bạn.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB cực kỳ chậm so với MySQL với 10 triệu bản ghi

  2. Không thể xóa bộ sưu tập khỏi mongodb

  3. mongoose xóa một đối tượng khỏi một mảng lồng nhau

  4. mongodb áp dụng sắp xếp cho kết quả tra cứu

  5. Làm cách nào để viết truy vấn SQL này theo cú pháp Mongodb?