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

MongoDBは$sliceを集約して、配列の長さを取得します


これには、$ projectを使用し、その中で$sizeを使用して長さを取得します。まず、ドキュメントを使用してコレクションを作成しましょう-

> db.demo382.insertOne(
...    {
...
...       "Name" : "David",
...       "details" : [
...          {
...             "SubjectName":"MySQL"
...          },
...          {
...             "SubjectName":"MongoDB"
...          },
...          {
...             "SubjectName":"Java"
...          }
...       ]
...
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e5b5e1c22064be7ab44e7f0")
}

find()メソッド&Minus;

を使用して、コレクションのすべてのドキュメントを表示します
> db.demo382.find().pretty();

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

{
   "_id" : ObjectId("5e5b5e1c22064be7ab44e7f0"),
   "Name" : "David",
   "details" : [
      {
         "SubjectName" : "MySQL"
      },
      {
         "SubjectName" : "MongoDB"
      },
      {
         "SubjectName" : "Java"
      }
   ]
}

以下は、$sliceを集計して長さを取得するためのクエリです-

> db.demo382.aggregate([
...    { "$match": { "Name": "David" } },
...    { "$project": { "count": { "$size": "$details" }}}
... ])

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

{ "_id" : ObjectId("5e5b5e1c22064be7ab44e7f0"), "count" : 3 }

  1. 対応する重複する名前のフィールド値の数を取得するためのMongoDB集計?

    例を見て、ドキュメントを使用してコレクションを作成しましょう- > db.demo558.insertOne( ... { ...    _id : 100, ...    CountryCode:101, ...    details: [ ...       { ...          Name:"Chris", ...          Subject:"MySQ

  2. MongoDB Aggregateを使用して、ドキュメントと配列要素の平均を取得しますか?

    このために、$groupおよびaggregate()とともに$avgを使用します。ドキュメントを使用してコレクションを作成しましょう- > db.demo598.insertOne( ...    { ...       Information:'Student', ...       id:100, ...       details:[ ...          {Name:'Chris',Ma