2017-10-25 19 views
1

MongoDBからデータを接続して取得するためにmongoliteパッケージを使用しています。今日の日時から最後の日のデータを取得するのを手伝ってください。R-現在の日付データから前日のデータを取得する方法

##connecting mongodb 

library(mongolite) 

mongo<-mongolite::mongo(collection = "Sample", db = "Test", url = 
          "mongodb://User:[email protected]:13333/ty2_U",verbose = TRUE) 

## getting data from collection 

values <- mongo$find() 

上記のコードステップは、サンプルコレクションからすべてのデータを取得するために問題なく動作しています。しかし、私の必要性は、今日のデータと時間から前日のデータだけを取得することです。

データフレームの例。

Get <- data.frame(id = c(1,2,3,4,5,6), 
       firstName=c("kannan","anderson","jimmy","aray","stepen","james"), 
       dates =as.POSIXct(c("2017-10-25 15:10:59","2017-10-25 11:30:59 ","2017-10-24 15:30:59 ","2017-10-23 15:32:33","2017-10-24 11:22:34","2017-10-23 14:25:17"))) 

出力データフレーム

id name  dte 
3 jimmy  2017-10-24 15:30:59 

5 stepen  2017-10-24 11:22:34 
+0

のようなあなたのデータをフィルタリングすることができ、u'r応答.Iためのおかげで、ポストの下に試してみましたが、私は次の取得しています結果。 [1] id firstName dates <0 rows>(または0行の行番号) 警告メッセージ: 1: '[.data.frame'(Get、Get $ dates>(as.Date(Sys.time()) - 1)&Get $ dates <: ">"のための互換性のないメソッド( "Ops.POSIXt"、 "Ops.Date") 2: '[.data.frame'(Get、Get $ dates>"<" –

+0

の非互換メソッド( "Ops.POSIXt"、 "Ops.Date")は空のデータフレームを返すだけです。[1] id firstName dates –

+0

あなたのstr(Get)を確認して結果を投稿することができます。なぜなら、結果が正しいと確認したときに、 –

答えて

1

あなたはHardikgupta @この

Get <- data.frame(id = c(1,2,3,4,5,6), 
        firstName=c("kannan","anderson","jimmy","aray","stepen","james"), 
        dates =as.POSIXct(c("2017-10-25 15:10:59","2017-10-25 11:30:59 ","2017-10-24 15:30:59 ","2017-10-23 15:32:33","2017-10-24 11:22:34","2017-10-23 14:25:17"))) 


Get[Get$dates > (as.Date(Sys.time()) - 1) & Get$dates < as.Date(Sys.time()),] 

    id firstName    dates 
3 3  jimmy 2017-10-24 15:30:59 
5 5 stepen 2017-10-24 11:22:34 
+0

これはまだ問題を起こしていますか?あなたの例をここでうまく働いてください –

関連する問題