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

MongoDBの配列サブ要素をどのように制限しますか?


$slice演算子を使用して配列を制限できます。ドキュメントを使用してコレクションを作成しましょう。以下はクエリです

> db.limitAnArrayDemo.insertOne(
...    {
...       _id: 101,
...       "PlayerName": "Bob",
...       "PlayerDetails": {Age:23,isStudent:true},
...       "PlayerGameScores": [234,5767,58,67,78,90,1002,576,68,45,23,45,678,89,78 ]
...    }
... );
{ "acknowledged" : true, "insertedId" : 101 }

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです

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

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

{
   "_id" : 101,
   "PlayerName" : "Bob",
   "PlayerDetails" : {
      "Age" : 23,
      "isStudent" : true
   },
   "PlayerGameScores" : [
      234,
      5767,
      58,
      67,
      78,
      90,
      1002,
      576,
      68,
      45,
      23,
      45,
      678,
      89,
      78
   ]
}

以下は、MongoDBの配列サブ要素を制限するためのクエリです。以下のクエリでは、最後の10個の要素のみが表示されます

> db.limitAnArrayDemo.find({}, {PlayerName:1, PlayerDetails: 1, PlayerGameScores:{$slice: -10}}).pretty();

以下は、10個のPlayerGameScoresを表示する出力です

{
   "_id" : 101,
   "PlayerName" : "Bob",
   "PlayerDetails" : {
      "Age" : 23,
      "isStudent" : true
   },
   "PlayerGameScores" : [
      90,
      1002,
      576,
      68,
      45,
      23,
      45,
      678,
      89,
      78
   ]
}

  1. MongoDBの配列に追加するにはどうすればよいですか?

    MongoDBの配列に追加するには、$concatArraysを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo435.insertOne({"FirstName":["Chris"],"LastName":["Brown"]} ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e7719b1bbc41e36cc3c

  2. MongoDB配列の要素を削除するにはどうすればよいですか?

    要素を削除するには、MongoDBで$ pullを更新して、使用します。 $ pull演算子は、既存の配列から、指定された条件に一致する1つまたは複数の値のすべてのインスタンスを削除します。 まず、ドキュメントを使用してコレクションを作成しましょう- db.demo541.insertOne({"software":{"services":["gmail","facebook","yahoo"]}});{    "acknowledged" : true