MongoDBコレクションの日付でグループ化しますか?
日付でグループ化するには、MongoDBアグリゲートで$groupを使用します。ドキュメントを使用してコレクションを作成しましょう-
> db.demo657.insertOne({ ... id: 1, ... Name: "Chris", ... DueDate: new ISODate("2020-04-22") ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5ea064b44deddd72997713d6") } > db.demo657.insertOne( ... { ... id: 1, ... Name: "John", ... DueDate: new ISODate("2020-04-22") ... } ...); { "acknowledged" : true, "insertedId" : ObjectId("5ea064b44deddd72997713d7") } > db.demo657.insertOne( ... { ... id: 1, ... Name: "Chris", ... DueDate: new ISODate("2020-04-22") ... } ...); { "acknowledged" : true, "insertedId" : ObjectId("5ea064b44deddd72997713d8") }
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo657.find();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5ea064b44deddd72997713d6"), "id" : 1, "Name" : "Chris", "DueDate" : ISODate("2020-04-22T00:00:00Z") } { "_id" : ObjectId("5ea064b44deddd72997713d7"), "id" : 1, "Name" : "John", "DueDate" : ISODate("2020-04-22T00:00:00Z") } { "_id" : ObjectId("5ea064b44deddd72997713d8"), "id" : 1, "Name" : "Chris", "DueDate" : ISODate("2020-04-22T00:00:00Z") }
以下は、MongoDBコレクションの日付でグループ化するためのクエリです-
> db.demo657.aggregate([ ... {$match: {id:1, DueDate: {$gte:new ISODate('2020-04-21'), $lt:new ISODate ("2020-04-23")}}}, ... {$project: ... {day: {'$dayOfMonth': '$DueDate'},month: {'$month':'$DueDate'},year: {'$year':'$DueDate'},Name:"$Name" } ... }, ... {$group: { ... _id: {day:'$day',month:'$month',year:'$year'}, ... ListOfNames: {$push:{Name:'$Name'}} ... }} ... ])
これにより、次の出力が生成されます-
{ "_id" : { "day" : 22, "month" : 4, "year" : 2020 }, "ListOfNames" : [ { "Name" : "Chris" }, { "Name" : "John" }, { "Name" : "Chris" } ] }
-
コレクションの名前を変更するMongoDBクエリ?
MongoDBでコレクションの名前を変更するには、renameCollection()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo690.insertOne({_id:101,Name:"Sam"}); { "acknowledged" : true, "insertedId" : 101 } > db.demo690.insertOne({_id:102,Name:"Mike"}); { "acknowledged" : true, &qu
-
MongoDBコレクションにインデックスを作成しますか?
インデックスを作成するには、MongoDBでcreateIndex()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo702.createIndex({"details.id":1}); { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, &q