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

MongoDBで大文字と小文字を区別しないクエリを作成することは可能ですか?


はい、正規表現を使用して、MongoDBで大文字と小文字を区別しないクエリを作成できます。構文は次のとおりです。

db.yourCollectionName.find({"yourFieldName":/^yourvalue$/i});

上記の構文を理解するために、いくつかのドキュメントを使用してコレクションを作成しましょう。ドキュメントを含むコレクションを作成するためのクエリは次のとおりです。

> db.caseInsensitiveDemo.insertOne({"Name":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d7a67f2db199c1278e7ef")
}
> db.caseInsensitiveDemo.insertOne({"Name":"JOHN"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c6d7ad6f2db199c1278e7f0")
}

find()を使用して、コレクションのすべてのドキュメントを表示します。クエリは次のとおりです。

> db.caseInsensitiveDemo.find();

出力は次のとおりです。

{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" }
{ "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }

大文字と小文字を区別しないクエリを作成するためのクエリは次のとおりです。

> db.caseInsensitiveDemo.find({"Name":/^john$/i});

出力は次のとおりです。

{ "_id" : ObjectId("5c6d7a67f2db199c1278e7ef"), "Name" : "John" }
{ "_id" : ObjectId("5c6d7ad6f2db199c1278e7f0"), "Name" : "JOHN" }

  1. MongoDBのサブドキュメントの配列をクエリする

    サブドキュメントの配列をクエリするには、MongoDBで$unwindを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo499.insertOne({ ... "details": ...    [ ...       { ...          Name :"MIT", ...          Rank: 1, ...      

  2. _idでグループ化するMongoDBクエリ

    MongoDBで_idでグループ化するには、$groupを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo529.insertOne({"Score":10});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b1d5bef4dcbee04fbbbe4") } > db.demo529.insertOne({"Score":20});{ &