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

MongoDBで特定の長さを超える文字列を検索しますか?


MongoDBで特定の値よりも長い長さの文字列を見つけるには、$where演算子を使用します。構文は次のとおりです-

db.yourCollectionName.find({$where:'this.yourStringFieldName.length >
yourIntegerValue'}).pretty();

上記の概念を理解するために、ドキュメントを使用してコレクションを作成しましょう。ドキュメントを使用してコレクションを作成するためのクエリは次のとおりです-

> db.stringFieldLengthDemo.insertOne({"UserId":1,"UserName":"Adam Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77bb4b2386c62d05142a78")
}
> db.stringFieldLengthDemo.insertOne({"UserId":2,"UserName":"Carol Taylor"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77bb562386c62d05142a79")
}
> db.stringFieldLengthDemo.insertOne({"UserId":3,"UserName":"James Brown"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77bb5b2386c62d05142a7a")
}
> db.stringFieldLengthDemo.insertOne({"UserId":4,"UserName":"John Smith"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77bb662386c62d05142a7b")
}
> db.stringFieldLengthDemo.insertOne({"UserId":5,"UserName":"David Miller"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77bb892386c62d05142a7c")
}
> db.stringFieldLengthDemo.insertOne({"UserId":6,"UserName":"John Williams"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77bbb02386c62d05142a7d")
}
> db.stringFieldLengthDemo.insertOne({"UserId":7,"UserName":"Chris Evans"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c77bbd32386c62d05142a7e")
}

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

> db.stringFieldLengthDemo.find().pretty();

以下は出力です-

{
   "_id" : ObjectId("5c77bb4b2386c62d05142a78"),
   "UserId" : 1,
   "UserName" : "Adam Smith"
}
{
   "_id" : ObjectId("5c77bb562386c62d05142a79"),
   "UserId" : 2,
   "UserName" : "Carol Taylor"
}
{
   "_id" : ObjectId("5c77bb5b2386c62d05142a7a"),
   "UserId" : 3,
   "UserName" : "James Brown"
}
{
   "_id" : ObjectId("5c77bb662386c62d05142a7b"),
   "UserId" : 4,
   "UserName" : "John Smith"
}
{
   "_id" : ObjectId("5c77bb892386c62d05142a7c"),
   "UserId" : 5,
   "UserName" : "David Miller"
}
{
   "_id" : ObjectId("5c77bbb02386c62d05142a7d"),
   "UserId" : 6,
   "UserName" : "John Williams"
}
{
   "_id" : ObjectId("5c77bbd32386c62d05142a7e"),
   "UserId" : 7,
   "UserName" : "Chris Evans"
}

これは、MongoDBで11と言うよりも長い文字列を見つけるためのクエリです-

> db.stringFieldLengthDemo.find({$where:'this.UserName.length >11'}).pretty();

以下は出力です-

{
   "_id" : ObjectId("5c77bb562386c62d05142a79"),
   "UserId" : 2,
   "UserName" : "Carol Taylor"
}
{
   "_id" : ObjectId("5c77bb892386c62d05142a7c"),
   "UserId" : 5,
   "UserName" : "David Miller"
}
{
   "_id" : ObjectId("5c77bbb02386c62d05142a7d"),
   "UserId" : 6,
   "UserName" : "John Williams"
}

  1. PythonでKより大きい最小の要素を見つける

    Pythonを使用したデータ分析中に、特定の基準を満たすリストから要素を除外する必要がある多くのシナリオに遭遇します。この記事では、リストから要素を取得する方法を説明します。この要素は、要素よりも大きいが、指定された要素よりも大きいすべての要素の中で最小です。 最小で kより大きい値の一般的な基準を満たしながら、リストの各要素を通過するforループを設計します。次に、そのようなすべての要素に対して、最小値を取得するためにmin関数を適用します。 例 listA = [1,5,6, 7,11,14] # Original list print("Given list : "

  2. Pythonでターゲットよりも大きい最小の文字を見つける

    ソートされた文字の文字のリストがあるとします。これには小文字のみが含まれています。ターゲット文字tがあります。リスト内で、指定されたターゲットよりも大きい最小の要素を見つける必要があります。 そして、文字も回ります。したがって、ターゲットがt =zで文字=[a、b]の場合、答えはaです。 したがって、入力が[c、 f、 j]、t =aの場合、出力はcになります。 これを解決するには、次の手順に従います- l:=0 r:=文字のサイズ-1 l <=rの場合、do mid:=(l + r)/2整数として がターゲットの場合、 r:=mid -1 それ以外の場合、 l