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

MongoDBの配列プロパティの最初のアイテムのみを取得しますか?


これには$slice演算子を使用します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.gettingFirstItemInArrayDemo.insertOne(
   {
      "UserId": 101,
      "UserName":"Carol",
      "UserOtherDetails": [
         {"UserFriendName":"Sam"},
         {"UserFriendName":"Mike"},
         {"UserFriendName":"David"},
         {"UserFriendName":"Bob"}
      ]
   }
);
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5cdfca52bf3115999ed51205")
}

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

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

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

{
   "_id" : ObjectId("5cdfca52bf3115999ed51205"),
   "UserId" : 101,
   "UserName" : "Carol",
   "UserOtherDetails" : [
      {
         "UserFriendName" : "Sam"
      },
      {
         "UserFriendName" : "Mike"
      },
      {
         "UserFriendName" : "David"
      },
      {
         "UserFriendName" : "Bob"
      }
   ]
}

以下は、MongoDBの配列プロパティの最初のアイテムのみを取得するためのクエリです-

> db.gettingFirstItemInArrayDemo.find({"UserId":101}, {UserOtherDetails:{$slice: 1}});

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

{ "_id" : ObjectId("5cdfca52bf3115999ed51205"), "UserId" : 101, "UserName" : "Carol", "UserOtherDetails" : [ { "UserFriendName" : "Sam" } ] }

  1. 配列内の上限付きサブコレクションに対するMongoDBクエリ

    MongoDBでは、サブコレクションにcaptedを使用することはできません。ただし、ドキュメント全体に上限を設定して使用してください。配列から特定の数の値を表示するには、$sliceを優先します。 ドキュメントを使用してコレクションを作成しましょう- > db.demo319.insertOne({"Scores":[100,345,980,890]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50

  2. MongoDBの配列に重複がないか確認しますか?

    配列内の重複をチェックするには、MongoDBでaggregate()を使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo756.insertOne({"SubjectName":["MySQL","MongoDB","Java"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5eb01e0d5637cd592b2