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

MongoDBで50より大きい値の配列(json配列ではなく)を取得するにはどうすればよいですか?


json配列を取得せずに値配列を取得するには、$inを使用します。以上の場合は、MongoDB$gtを使用します。ドキュメントを使用してコレクションを作成しましょう-

> db.demo50.save({"Value":40});
WriteResult({ "nInserted" : 1 })
> db.demo50.save({"Value":100});
WriteResult({ "nInserted" : 1 })
> db.demo50.save({"Value":20});
WriteResult({ "nInserted" : 1 })
> db.demo50.save({"Value":510});
WriteResult({ "nInserted" : 1 })

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

> db.demo50.find();

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

{ "_id" : ObjectId("5e270c02cfb11e5c34d89903"), "Value" : 40 }
{ "_id" : ObjectId("5e270c05cfb11e5c34d89904"), "Value" : 100 }
{ "_id" : ObjectId("5e270c07cfb11e5c34d89905"), "Value" : 20 }
{ "_id" : ObjectId("5e270c11cfb11e5c34d89906"), "Value" : 510 }

以下は、MongoDBで50を超える値の配列を取得するためのクエリです-

> listOfValues = db.demo50.distinct("_id", {Value:{$gt:50}});
[
   ObjectId("5e270c05cfb11e5c34d89904"),
   ObjectId("5e270c11cfb11e5c34d89906")
]
> db.demo50.find({_id:{$in:listOfValues}});

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

{ "_id" : ObjectId("5e270c05cfb11e5c34d89904"), "Value" : 100 }
{ "_id" : ObjectId("5e270c11cfb11e5c34d89906"), "Value" : 510 }

  1. 特定の値より大きい配列値を持つドキュメントを照合するためのMongoDBクエリ

    $elemMatchを使用できます。 $ elemMatch演算子は、指定されたすべてのクエリ条件に一致する要素が少なくとも1つある配列フィールドを含むドキュメントと一致します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo701.insertOne({"ListOfValues":[100,200,300]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea6e8cf5512

  2. PHPの配列からランダムな値を取得するにはどうすればよいですか?

    PHPの配列からランダムな値を取得するためのコードは、次のとおりです- 例 <?php    $arr = array( "p"=>"150", "q"=>"100", "r"=>"120", "s"=>"110", "t"=>"115", "u"=>"103", "v"=&g