配列内の上限付きサブコレクションに対するMongoDBクエリ
MongoDBでは、サブコレクションにcaptedを使用することはできません。ただし、ドキュメント全体に上限を設定して使用してください。配列から特定の数の値を表示するには、$sliceを優先します。
ドキュメントを使用してコレクションを作成しましょう-
> db.demo319.insertOne({"Scores":[100,345,980,890]}); { "acknowledged" : true, "insertedId" : ObjectId("5e50ecf6f8647eb59e562064") } > db.demo319.insertOne({"Scores":[903,10004,84575,844]}); { "acknowledged" : true, "insertedId" : ObjectId("5e50ed01f8647eb59e562065") }
find()メソッドを使用してコレクションからすべてのドキュメントを表示する-
> db.demo319.find().pretty();
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e50ecf6f8647eb59e562064"), "Scores" : [ 100, 345, 980, 890 ] } { "_id" : ObjectId("5e50ed01f8647eb59e562065"), "Scores" : [ 903, 10004, 84575, 844 ] }
以下は、配列内の上限付きサブコレクションのクエリです-
> db.demo319.aggregate([ ... { $project: {TwoScores: { $slice: [ "$Scores", 2 ] } } } ... ])
これにより、次の出力が生成されます-
{ "_id" : ObjectId("5e50ecf6f8647eb59e562064"), "TwoScores" : [ 100, 345 ] } { "_id" : ObjectId("5e50ed01f8647eb59e562065"), "TwoScores" : [ 903, 10004 ] }>
-
ネストされた配列をソートするMongoDBクエリ?
MongoDBでネストされた配列を並べ替えるには、$sortを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo505.insertOne( ... { ... "details": [ ... { ... Name:"Chris", ... "Score":58 ... }, { ... ...  
-
MongoDBの配列に重複がないか確認しますか?
配列内の重複をチェックするには、MongoDBでaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo756.insertOne({"SubjectName":["MySQL","MongoDB","Java"]}); { "acknowledged" : true, "insertedId" : ObjectId("5eb01e0d5637cd592b2