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

MongoDBを使用して、リスト内の値(オブジェクトではない)をクエリします


リスト内の値をクエリするには、MongoDBで定位置演算子($)を使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo628.insertOne({id:1,Name:["Chris","David","John"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ae7ea6c954c74be91e6b6")
}
> db.demo628.insertOne({id:1,Name:["Carol","Sam"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ae7f26c954c74be91e6b7")
}
> db.demo628.insertOne({id:2,Name:["Mike","Sam","John"]});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9ae8056c954c74be91e6b8")
}

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

> db.demo628.find();

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

{ "_id" : ObjectId("5e9ae7ea6c954c74be91e6b6"), "id" : 1, "Name" : [ "Chris", "David", "John" ] }
{ "_id" : ObjectId("5e9ae7f26c954c74be91e6b7"), "id" : 1, "Name" : [ "Carol", "Sam" ] }
{ "_id" : ObjectId("5e9ae8056c954c74be91e6b8"), "id" : 2, "Name" : [ "Mike", "Sam", "John" ] }

リスト内の(オブジェクトではなく)値を照会する-

> db.demo628.find({"Name":"John"}, {"id":1, "Name.$":1});

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

{ "_id" : ObjectId("5e9ae7ea6c954c74be91e6b6"), "id" : 1, "Name" : [ "John" ] }
{ "_id" : ObjectId("5e9ae8056c954c74be91e6b8"), "id" : 2, "Name" : [ "John" ] }

  1. 大文字と小文字を区別せずに特定の名前のドキュメントを表示するMongoDBクエリ

    これには、MongoDBで$regexを使用します。大文字と小文字を区別せずに、「David」という名前のドキュメントフィールド値を検索します。ドキュメントを使用してコレクションを作成しましょう- > db.demo700.insertOne( { details: [ { Name:"david" }]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea6e6b1551299a9f98c93ac"

  2. MongoDBを使用して、特定のネストされたドキュメントのオブジェクトの配列をクエリしますか?

    ネストされたドキュメントのオブジェクトの配列をクエリするには、find()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo763.insertOne( ...    { ...       _id:1, ...       CountryName:"US", ...       "studentInformation": [ ...          {