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

MongoDBのSQL「like」に相当するものは何ですか?


「$regex」演算子を使用して、MongoDBに「like」と同等のSQLを実装できます。それを実装するために、ドキュメントを使用してコレクションを作成しましょう。ドキュメントを使用してコレクションを作成するためのクエリは次のとおりです-

> db.sqlLikeDemo.insertOne({"UserName":"John Smith","UserAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c912e124afe5c1d2279d6a5")
}
> db.sqlLikeDemo.insertOne({"UserName":"John Doe","UserAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c912e264afe5c1d2279d6a6")
}
> db.sqlLikeDemo.insertOne({"UserName":"Chris Williams","UserAge":22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c912e404afe5c1d2279d6a7")
}
> db.sqlLikeDemo.insertOne({"UserName":"Robert Taylor","UserAge":26});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c912e4d4afe5c1d2279d6a8")
}
> db.sqlLikeDemo.insertOne({"UserName":"John Brown","UserAge":27});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c912e6c4afe5c1d2279d6a9")
}
> db.sqlLikeDemo.insertOne({"UserName":"Mike Brown","UserAge":23});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c912e794afe5c1d2279d6aa")
}
> db.sqlLikeDemo.insertOne({"UserName":"Larry Smith","UserAge":24});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c912e8c4afe5c1d2279d6ab")
}

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

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

以下は出力です-

{
   "_id" : ObjectId("5c912e124afe5c1d2279d6a5"),
   "UserName" : "John Smith",
   "UserAge" : 24
}
{
   "_id" : ObjectId("5c912e264afe5c1d2279d6a6"),
   "UserName" : "John Doe",
   "UserAge" : 21
}
{
   "_id" : ObjectId("5c912e404afe5c1d2279d6a7"),
   "UserName" : "Chris Williams",
   "UserAge" : 22
}
{
   "_id" : ObjectId("5c912e4d4afe5c1d2279d6a8"),
   "UserName" : "Robert Taylor",
   "UserAge" : 26
}
{
   "_id" : ObjectId("5c912e6c4afe5c1d2279d6a9"),
   "UserName" : "John Brown",
   "UserAge" : 27
}
{
   "_id" : ObjectId("5c912e794afe5c1d2279d6aa"),
   "UserName" : "Mike Brown",
   "UserAge" : 23
}
{
   "_id" : ObjectId("5c912e8c4afe5c1d2279d6ab"),
   "UserName" : "Larry Smith",
   "UserAge" : 24
}

これは、SQLの「like」句のように機能するクエリです。つまり、「UserName」John-

を含むレコードです。
> db.sqlLikeDemo.find({"UserName":{"$regex": "John"}}).pretty();

以下は出力です-

{
   "_id" : ObjectId("5c912e124afe5c1d2279d6a5"),
   "UserName" : "John Smith",
   "UserAge" : 24
}
{
   "_id" : ObjectId("5c912e264afe5c1d2279d6a6"),
   "UserName" : "John Doe",
   "UserAge" : 21
}
{
   "_id" : ObjectId("5c912e6c4afe5c1d2279d6a9"),
   "UserName" : "John Brown",
   "UserAge" : 27
}

  1. MySQLのUNHEX()に相当するPHPは何ですか?

    PHPはMySQLのUNHEX()に相当するため、hex2bin()関数を使用できます。 構文は次のとおりです- $ anyVariableName =hex2bin( yourHexadecimalValue); 上記の構文を理解するために、上記の構文をPHPで実装してみましょう。 PHPコードは次のとおりです- $ myFirstValue =hex2bin( 7777772E4D7953514C4578616D706C652E636F6D); var_dump($ myFirstValue); $ mySecondValue =hex2bin( 416476616E636564

  2. MatplotlibのMatlabのsurf(x、y、z、c)に相当するものは何ですか?

    MatplotlibでMatLabのsurf(x、y、z、c)と同じ効果を得る方法を例に取ってみましょう。ステップ- 図のサイズを設定し、サブプロット間およびサブプロットの周囲のパディングを調整します。 新しいフィギュアを作成するか、既存のフィギュアをアクティブにします。 「ax」を追加します サブプロットの配置の一部として図に。 r、u、v、x、yを作成します およびz Numpyを使用したデータポイント。 表面プロットを作成します。 図を表示するには、 show()を使用します メソッド。 例 import matplotlib.pyplot as