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

MongoDBで特定のサブドキュメントを選択するにはどうすればよいですか?


MongoDBで特定のサブドキュメントを選択するには、find()を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo37.insertOne({"Details":[{"Name":"Chris","Age":21},{"Name":"David","Age":23}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e176635cfb11e5c34d898d7")
}
> db.demo37.insertOne({"Details":[{"Name":"Sam","Age":23},{"Name":"Robert","Age":25}]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e17664acfb11e5c34d898d8")
}

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

> db.demo37.find();

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

{ "_id" : ObjectId("5e176635cfb11e5c34d898d7"), "Details" : [ { "Name" : "Chris", "Age" : 21 }, { "Name" : "David", "Age" : 23 } ] }
{ "_id" : ObjectId("5e17664acfb11e5c34d898d8"), "Details" : [ { "Name" : "Sam", "Age" : 23 }, { "Name" : "Robert", "Age" : 25 } ] }

以下は、サブドキュメントを選択するためのクエリです-

> db.demo37.find({'Details.Name' : 'Sam'},{_id: 0, 'Details.$.Name': 1});

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

{ "Details" : [ { "Name" : "Sam", "Age" : 23 } ] }

  1. MySQLで特定の行を選択するにはどうすればよいですか?

    特定の行を選択するには、MySQLのFIND_IN_SET()関数を使用します。まずテーブルを作成しましょう- mysql> create table DemoTable    (    ListOfValues varchar(200)    ); Query OK, 0 rows affected (0.31 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('112,114,567,Java,345'

  2. MySQLですべての重複を選択するにはどうすればよいですか?

    重複を選択するには、サブクエリを使用できます。まずテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,    -> Name varchar(100)    -> ); Query OK, 0 rows affected (0.87 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> ins