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

レコードをグループ化し、ドット表記で特定の値を表示するMongoDBクエリ


ドキュメントを使用してコレクションを作成しましょう-

> db.demo430.insertOne(
...    {
...       "details": [
...          {
...             "Name":"Chris"
...          } ,
...          {"Name":"David"},
...          {"Name":"Adam"},
...          {"Name":"Bob"}
...
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e7702ddbbc41e36cc3cae88")
}

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

> db.demo430.find();

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

{ "_id" : ObjectId("5e7702ddbbc41e36cc3cae88"), "details" : [ { "Name" : "Chris" }, { "Name" : "David" }, { "Name" : "Adam" }, { "Name" : "Bob" } ] }

以下は、レコードをグループ化するためのクエリです-

> db.demo430.aggregate([{ "$group" : { "_id" : {"Name" : "$details.Name"}}}]);

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

{ "_id" : { "Name" : [ "Chris", "David", "Adam", "Bob" ] } }

  1. MongoDBで配列をクエリして、特定の値をフェッチします

    配列から特定の値をフェッチするには、$ projectとともにaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo761.insertOne( ...    { ...       "details": [ ...          { ...             "student": { ...     &nb

  2. 単一のMySQLクエリでGROUPBYとCOUNTを使用して、重複するレコードをグループ化し、対応する最大値を表示します

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> ClientId int,    -> Value int    -> ); Query OK, 0 rows affected (0.79 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values(10,678); Query OK, 1 row affected