91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mongodb中根據時間過濾進行查詢怎么實現

發布時間:2023-11-07 15:17:45 來源:億速云 閱讀:147 作者:栢白 欄目:開發技術

今天小編給大家分享的是mongodb中根據時間過濾進行查詢怎么實現,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。


mongodb中簡單的根據時間過濾進行查詢

目的:查詢當某天的文檔信息

db.getCollection('test').find
({ "name" : { "$regex" : "王" }, 
     "is_history" : 0, 
     "adddate":{"$gte":ISODate("2018-01-02T00:00:00Z"),"$lte":ISODate("2018-01-03T00:00:00Z")} 
},
{
   name:1,adddate:1,sex:1,certcode:1,certnumber:1,istomysql:1
}
)

mongodb的語法,第一個大括號里面是:表示過濾條件

第二個大括號里面是 :控制顯示的字段

里面有一個adddate這個過濾條件是如何按照時間來進行過濾查找$gte是大于等于 $lte是小于等于

補充:如何根據日期過濾/查找MongoDB中的記錄

問題:如何根據日期過濾/查找MongoDB中的記錄

我在 MongoDB 數據庫中有一個集合,其中包含一些數據,并希望根據日期(忽略時間)過濾和查找數據。

樣本數據

{
  "_id" : ObjectId("563a38173c2ab9248c02d89e"),
  "jobId" : "oAEKMcCIJRIAAAFQbrAR6NDd",
  "jobName" : "CheckSessions",
  "jobDesc" : "Checks and deletes expired session data",
  "jobType" : "Job",
  "startTime" : "2015-11-04 00:00:01",
  "endTime" : "2015-11-04 00:00:01",
  "domainName" : "root",
  "recurrencePeriod" : "60",
  "recurrencePeriodDesc" : "HOURS(1)"
}
{
  "_id" : ObjectId("563a38173c2ab9248c02d89f"),
  "jobId" : "C6wKMcCIJXoAAAFQm78R6NCm",
  "jobName" : "CheckSessions",
  "jobDesc" : "Checks and deletes expired session data",
  "jobType" : "Job",
  "startTime" : "2015-11-03 23:00:00",
  "endTime" : "2015-11-03 23:00:01",
  "domainName" : "root",
  "recurrencePeriod" : "60",
  "recurrencePeriodDesc" : "HOURS(1)"
}

我使用以下命令來獲取大于特定日期的數據,但它沒有給我任何結果。 startTime 和 endTime 都是 EST 格式。不知道我錯過了什么。請指導。

db.jobs.find({"startTime" : { $gt : new Date("2015-11-03")}});

解答

答:可以簡單的通過字符串比較來查詢。

首先,確保 startTime 列上的索引

db.test.ensureIndex({startTime:1})

以下命令在_id:ObjectId("563a38173c2ab9248c02d89f")示例中找到您的第二個對象

db.test.find({
    startTime: {
        $gte: '2015-11-03 00:00:00',
        $lt:  '2015-11-04 00:00:00'
    }
}).pretty()

通過在我們的查詢上運行 explain(),我們可以看到索引實際上正在使用中:

db.test.find({startTime:{$gte:'2015-11-03 00:00:00', $lt:'2015-11-04 00:00:00'}}).explain()
{
    "cursor" : "BtreeCursor startTime_1",
    "isMultiKey" : false,
    "n" : 1,
    "nscannedObjects" : 1,
    "nscanned" : 1,
    "nscannedObjectsAllPlans" : 1,
    "nscannedAllPlans" : 1,
    "scanAndOrder" : false,
    "indexOnly" : false,
    "nYields" : 0,
    "nChunkSkips" : 0,
    "millis" : 0,
    "indexBounds" : {
        "startTime" : [
            [
                "2015-11-03 00:00:00",
                "2015-11-04 00:00:00"
            ]
        ]
    },
    "server" : "Jaans-MBP.home:27017"
}

我的建議仍然是遵循最佳實踐并以正確的日期格式存儲您的日期字段,例如

"startTime" : ISODate("2016-05-02T00:00:02Z")

在 MongoDB shell 中,您只需通過

> db.test.insert({startTime:new Date()})
> db.test.find()
// results
{ "_id" : ObjectId("563a49d63b1f1b7df0ebc4f5"), "startTime" : ISODate("2015-11-04T18:09:26.613Z") }

關于mongodb中根據時間過濾進行查詢怎么實現就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

渝北区| 梁山县| 客服| 邹城市| 长阳| 略阳县| 宣威市| 临海市| 吉水县| 洛浦县| 喀喇沁旗| 澎湖县| 正蓝旗| 东莞市| 大同市| 将乐县| 威远县| 壤塘县| 九龙城区| 馆陶县| 焉耆| 比如县| 高阳县| 迁西县| 龙里县| 儋州市| 乐昌市| 姜堰市| 尉犁县| 三门峡市| 宜昌市| 汝州市| 大宁县| 腾冲县| 无棣县| 乌拉特后旗| 宁南县| 清水河县| 治县。| 博乐市| 航空|