MongoDB/Mongoose は特定の日付にクエリを実行しますか? 質問する

MongoDB/Mongoose は特定の日付にクエリを実行しますか? 質問する

特定の日付を照会することは可能ですか?

mongoクックブックで、範囲を指定して実行できることが分かりました日付範囲のクエリこんな感じです:

db.posts.find({"created_on": {"$gte": start, "$lt": end}})

しかし、特定の日付では可能ですか? これは機能しません:

db.posts.find({"created_on": new Date(2012, 7, 14) })

ベストアンサー1

DB に保存した日付に時間が含まれていない場合 (年、月、日のみ)、この方法は機能するはずです。

保存した日付はおそらく でありnew Date()、これには時間コンポーネントが含まれています。これらの時間を照会するには、1 日のすべての瞬間を含む日付範囲を作成する必要があります。

db.posts.find({ //query today up to tonight
    created_on: {
        $gte: new Date(2012, 7, 14), 
        $lt: new Date(2012, 7, 15)
    }
})

おすすめ記事