<video id="vtaxu"></video>
          <cite id="vtaxu"></cite>

          1. <video id="vtaxu"><menu id="vtaxu"></menu></video>

            <rt id="vtaxu"></rt>
          2. <rt id="vtaxu"><menuitem id="vtaxu"></menuitem></rt>
              <rp id="vtaxu"><menu id="vtaxu"></menu></rp>
              溫馨提示×

              溫馨提示×

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

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

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

              發布時間:2023-11-07 15:17:45 來源:億速云 閱讀:110 作者:栢白 欄目:開發技術
              專為編程打造,自動寫代碼機器人,免費開通

              今天小編給大家分享的是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

              福利一区二区三区视频播放观看|国产精品无码一二区不卡免费|国产日韩欧美一区二区久久精品|精品91自产拍在线观看二区