TODO:從數據庫中隨機抽取一條記錄
目前成都創(chuàng)新互聯公司已為上千多家的企業(yè)提供了網站建設、域名、網頁空間、網站改版維護、企業(yè)網站設計、橋西網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發(fā)展。1.最直接,最粗暴的方法先計算記錄的總數,然后選擇一個從0到記錄總數之間的隨機數n,利用skip跳過n條記錄,這是效率低下的的方法,首先的記錄總數,在用skip會很耗時間;
2.那么有什么辦法能夠提供效率呢,方法就是給每條記錄添加一個0-1的隨機因子random。
“random” : 0.5127909016609585
想要在記錄中查找一個隨機記錄,只要計算出一個隨機數并作為查詢條件就好了
Result = db.getCollection(‘qq’).findOne({“random”:{“$gt”:random}})
如果出現查詢不到數據,那是因為隨機數比記錄中存的隨機值都要大,就沒有結果返回了,那就換個方向查詢了,就可以查詢到想要的數據了
Result = db.getCollection(‘qq’).findOne({“random”:{“$lt”:random}});
3.更多復雜的查詢,可以把隨機因子包含在索引里面。
這樣,隨機獲取一條記錄,我們也可以隨機獲取n條記錄,做相應的業(yè)務環(huán)境使用
wxgzh:ludong86
另外有需要云服務器可以了解下創(chuàng)新互聯cdcxhl.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。