sql >> データベース >  >> NoSQL >> MongoDB

MongoDBとJavascriptを使用して、プロジェクションのサブドキュメントプロパティをカウントします

    • $map subRoomのループを繰り返す 配列とin 必須フィールドを返すには
    • $filter notificationsのループを繰り返す および$size フィルタリングされた結果から合計要素を取得するには
    db.collection.find({ id: 1 },
    {
      _id: 0,
      room: 1,
      notRead: {
        $size: {
          $filter: {
            input: "$notifications",
            cond: {
              $not: { $in: ["User1", "$$this.read"] }
            }
          }
        }
      },
      "subRoom": {
        $map: {
          input: "$subRoom",
          in: {
            id: "$$this.id",
            notRead: {
              $size: {
                $filter: {
                  input: "$$this.notifications",
                  cond: { $not: { $in: ["User1", "$$this.read"] } }
                }
              }
            }
          }
        }
      }
    })
    

    遊び場




    1. マングース:カスタム_idはインデックスとして宣言され、一意である必要がありますか

    2. Azure上の高性能MongoDBクラスター

    3. MongoDB $ toInt

    4. 浮動小数点数でのPyMongoの誤動作