java mongo 日期范围_java – 在mongodb中按日期对值排序
我是mongodb的新手,我正在嘗試按日期對所有行進(jìn)行排序.我有混合來源的記錄,我試圖分開排序.某些記錄在寫入db時我沒有更新dateCreated.后來我發(fā)現(xiàn)并將dateCreated添加到db中的所有記錄中.假設(shè)我總共有4000條記錄,前1000條我沒有dateCreated.最新的3000有該專欄.在這里,我試圖使用dateCreated列獲取最后更新的記錄.這是我的代碼.
db.person.find({"source":"Naukri"}&{dateCreated:{$exists:true}}).sort({dateCreated: 1}).limit(10)
這段代碼重新給我一些結(jié)果(來自那1000條記錄)我根本看不到dateCreated列.此外,如果我在這里更改(-1){dateCreated:-1}我從其他來源獲得結(jié)果,但不是Naukri.
所以我需要幫助這個案例,
>我如何按dateCreated排序以獲取最新的更新記錄和來源.
>我正在使用Java API從Mongo獲取記錄.如果有人幫助我找到如何使用java同樣的查詢,我將不勝感激.
希望我的問題很明確.提前致謝.
解決方法:
從文檔中你將(并且你將會,不會 – 點頭是)讀取,你會發(fā)現(xiàn)你正在使用的find命令的第一個參數(shù)是所謂的查詢文檔.在本文檔中,您指定了一個字段和條件列表,“逗號”分隔,這相當(dāng)于聲明性語法(如SQL)中的條件和條件.
您的查詢的問題是它無效,并且沒有匹配任何內(nèi)容.正確的語法如下:
db.person.find({"source":"Naukri", dateCreated:{$exists:true}})
.sort({dateCreated: -1})
.limit(10)
所以現(xiàn)在這將過濾為“source”提供的值以及“dateCreated”字段存在的位置,這意味著它存在且包含某些內(nèi)容.
我建議查看下面的鏈接,這兩個鏈接中的第一個涉及構(gòu)造mongoDB查詢以及find方法及其參數(shù).所有功能都轉(zhuǎn)換為每種語言實現(xiàn).
至于Java API以及如何使用,根據(jù)您的使用情況,有不同的方法. API提供了一個BasicDBObject類,它或多或少等同于JSON文檔表示法,并且是一種hashmap概念.對于shell方法的更多內(nèi)容和幫助器更像一些動態(tài)語言方法,有一個QueryBuilder類,后兩個鏈接給出了示例和信息.這些允許鏈接使您的查詢更具可讀性.
Stack Overflow上有很多例子.我建議你看看.
標(biāo)簽:java,mysql,mongodb,mongodb-query
來源: https://codeday.me/bug/20190629/1323132.html
總結(jié)
以上是生活随笔為你收集整理的java mongo 日期范围_java – 在mongodb中按日期对值排序的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 思虑再三,还是想问问天涯高人的看法,我是
- 下一篇: fragment中文网_更新 · Rea