MapReduceの概念を使用してランダムな値をフェッチするMongoDBクエリ。
Map Reduceを使用したランダム値の場合、Math.random()とともにmapReduce()の概念を使用します。ドキュメントを使用してコレクションを作成しましょう-
> db.demo651.insertOne({Value:10}); {"acknowledged":true、 "insertedId":ObjectId( "5e9f0330e3c3cd0dcff36a57")}> db.demo651.insertOne({Value:20}); { "acknowledged":true、 "insertedId":ObjectId( "5e9f0332e3c3cd0dcff36a58")}> db.demo651.insertOne({Value:30}); {"acknowledged":true、 "insertedId":ObjectId( "5e9f0335e3c3cd0dcff36a59")}> db.demo651.insertOne({Value:40}); {"acknowledged":true、 "insertedId":ObjectId( "5e9f0337e3c3cd0dcff36a5a")}> db.demo651.insertOne({Value:50}); {"acknowledged": true、 "insertedId":ObjectId( "5e9f0339e3c3cd0dcff36a5b")}> db.demo651.insertOne({Value:60}); {"acknowledged":true、 "insertedId":ObjectId( "5e9f033be3c3cd0dcff36a5c")}> db.demo65 insertOne({Value:70}); {"acknowledged":true、 "insertedId":ObjectId( "5e9f033ee3c3cd0dcff36a5d")}> db.demo651.insertOne({Value:80}); {"acknowledged":true、 "insertedId ":ObjectId(" 5e9f0340e3c3cd0dcff36a5e ")}
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo651.find();
これにより、次の出力が生成されます-
{"_id":ObjectId( "5e9f0330e3c3cd0dcff36a57")、 "Value":10} {"_id":ObjectId( "5e9f0332e3c3cd0dcff36a58")、 "Value":20} {"_id":ObjectId( "5e9f0335e3c3cd 、"Value":30} {"_id":ObjectId( "5e9f0337e3c3cd0dcff36a5a")、 "Value":40} {"_id":ObjectId( "5e9f0339e3c3cd0dcff36a5b")、 "Value":50} {"_id":ObjectId( "5e9f033be3c3cd0dcff36a5c")、 "値":60} {"_id":ObjectId( "5e9f033ee3c3cd0dcff36a5d")、 "値":70} {"_id":ObjectId( "5e9f0340e3c3cd0dcff36a5e")、 ">>以下は、データをフェッチするためのクエリです-
> map =function(){...... if(Math.random()<0.1){... Emmit(this._id、this); ...} ...} function() {if(Math.random()<0.1){emit(this._id、this); }}>> reduce =function(key、values){...戻り値; ...} function(key、values){戻り値;}>> db.demo651.mapReduce(map、reduce、{out: ' demo_651'}); {"result": "demo_651"、 "timeMillis":1104、 "counts":{"input":8、 "emit":1、 "reduce":0、 "output":1}、 "ok":1}> db.demo_651.find();これにより、次の出力が生成されます-
{"_id":ObjectId( "5e9f033be3c3cd0dcff36a5c")、 "value":{"_id":ObjectId( "5e9f033be3c3cd0dcff36a5c")、 "Value":60}}
-
単純なクエリを使用してMongoDBでドキュメントをフィルタリングしますか?
$matchを使用できます。 $ matchはドキュメントをフィルタリングして、指定された条件に一致するドキュメントのみを次のパイプラインステージに渡します。ドキュメントを使用してコレクションを作成しましょう- > db.demo629.insertOne( ... { ... ... "Subject": [ ... "MySQL", ... &
-
MongoDBで配列をクエリして、特定の値をフェッチします
配列から特定の値をフェッチするには、$ projectとともにaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo761.insertOne( ... { ... "details": [ ... { ... "student": { ... &nb