1. ホーム
  2. mongodb

[解決済み] 日付に基づいたクエリを返す

2022-03-31 05:19:27

質問

mongodbにこのようなデータがあります。

{ 
    "latitude" : "", 
    "longitude" : "", 
    "course" : "", 
    "battery" : "0", 
    "imei" : "0", 
    "altitude" : "F:3.82V", 
    "mcc" : "07", 
    "mnc" : "007B", 
    "lac" : "2A83", 
    "_id" : ObjectId("4f0eb2c406ab6a9d4d000003"), 
    "createdAt" : ISODate("2012-01-12T20:15:31Z") 
}

どのようにクエリするか db.gpsdatas.find({'createdAt': ??what here??}) この場合、データベースから上記のようなデータが返されるのでしょうか?

どのように解決するのですか?

例えば、ある日付以降に作成されたすべてのアイテムのような範囲クエリを作成したいと思うでしょう。

db.gpsdatas.find({"createdAt" : { $gte : new ISODate("2012-01-12T20:15:31Z") }});

を使っています。 $gte (greater than or equals)です。これは日付のみのクエリーで、時間成分が 00:00:00 である場合によく使われるからです。

もし、本当に他の日付と等しい日付を見つけたいのであれば、構文は次のようになります。

db.gpsdatas.find({"createdAt" : new ISODate("2012-01-12T20:15:31Z") });