Tôi cần phải chọn một tài liệu từ một bộ sưu tập một cách ngẫu nhiên (cách khác - một số lượng nhỏ các tài liệu liên tiếp từ một "cửa sổ" được định vị ngẫu nhiên). Tôi đã tìm thấy hai giải pháp: 1 và 2. Việc đầu tiên là không thể chấp nhận được vì tôi dự đoán kích thước bộ sưu tập lớn và muốn giảm thiểu kích thước tài liệu. Thứ hai dường như không hiệu quả (Tôi không chắc chắn về sự phức tạp của hoạt động skip
). Và here người ta có thể tìm thấy một đề cập đến truy vấn một tài liệu với một chỉ mục cụ thể, nhưng tôi không biết làm thế nào để làm điều đó (tôi đang sử dụng trình điều khiển C++).MongoDB: cách hiệu quả nhất để truy vấn một tài liệu ngẫu nhiên là gì?
Có giải pháp nào khác cho sự cố không? Đó là hiệu quả nhất?
Có [yêu cầu tính năng để nhận các mặt hàng ngẫu nhiên từ bộ sưu tập] (https://jira.mongodb.org/browse/SERVER-533) trong trình theo dõi vé MongoDB. Nếu được thực thi tự nhiên, nó có thể sẽ là lựa chọn hiệu quả nhất. (Nếu bạn muốn tính năng này, hãy bỏ phiếu lên.) –
Câu hỏi này đã được hỏi dưới nhiều hình thức ở đây trên Stack Overflow. Câu hỏi phổ biến nhất là [Bản ghi ngẫu nhiên từ MongoDB] (http://stackoverflow.com/questions/2824157/random-record-from-mongodb) - nó có phản hồi tốt. Điều đó nói rằng, tôi nghĩ cách suy nghĩ tốt nhất về câu hỏi này không phải là suy nghĩ về việc lấy một tài liệu ngẫu nhiên mà đúng hơn là, ngẫu nhiên một tập kết quả. Xem [Đặt một tập hợp kết quả ngẫu nhiên trong Mongo] (http://stackoverflow.com/questions/8500266/ordering-a-result-set-randomly-in-mongo) cho điều đó. –