MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

MongoDBを使用して特定の日付形式でクエリをフィルタリングするにはどうすればよいですか?


特定の日付形式でクエリをフィルタリングするには、$dateToStringを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo433.insertOne({"DueDate":new Date("2019-11-23")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e771278bbc41e36cc3cae91")
}
> db.demo433.insertOne({"DueDate":new Date("2020-01-03")});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e771290bbc41e36cc3cae92")
}

find()メソッドを使用してコレクションからすべてのドキュメントを表示する-

> db.demo433.find();

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e771278bbc41e36cc3cae91"), "DueDate" : ISODate("2019-11-23T00:00:00Z") }
{ "_id" : ObjectId("5e771290bbc41e36cc3cae92"), "DueDate" : ISODate("2020-01-03T00:00:00Z") }

以下は、MongoDBの特定の日付形式でクエリをフィルタリングするためのクエリです-

> db.demo433.aggregate([
... { $addFields: {stringDate: { $dateToString: { format: "%Y-%m-%d", date: "$DueDate" } } } },
... { $match: {"stringDate":"2020-01-03"}},
... { $project:{"stringDate":0}}
... ])

これにより、次の出力が生成されます-

{ "_id" : ObjectId("5e771290bbc41e36cc3cae92"), "DueDate" : ISODate("2020-01-03T00:00:00Z") }

  1. 日付をMongoDB$matchと一致させる方法は?

    日付を一致させるには、aggregate()とともに$matchを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo491.insertOne({"ShippingDate":new ISODate("2020-01-10")});{    "acknowledged" : true,    "insertedId" : ObjectId("5e849a09b0f3fa88e22790be") } > db.d

  2. MongoDBを使用して埋め込みドキュメントの配列でクエリをフィルタリングしますか?

    これには、MongoDBでaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo736.insertOne( ...    { ...       "_id": "101", ...       "details1": [ ...          { ...             &q