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

mongoDbを使用して文字列内のキーワードの出現数を取得する方法

    これを試してください:

    let keyword = new RegExp("Hi", "i")
    
    db.myCollection.aggregate([
        {
            $addFields: {
                num_of_occ: {
                    $size: {
                        $filter: {
                            input: { $split: ["$description", " "] },
                            as: "text",
                            cond: {
                                $regexMatch: { input: "$$text", regex: keyword }
                            }
                        }
                    }
                }
            }
        }
    ]);
    

    出力:

    [
      {
        "_id" : ObjectId("6033a3b0406aaa04445434a1"),
        "name" : "Dheemanth",
        "description" : "Everything has hI in it.",
        "num_of_occ" : 2
      },
      {
        "_id" : ObjectId("6033a3b0406aaa04445434a2"),
        "name" : "Heath",
        "description" : "shushi ends with Hi.",
        "num_of_occ" : 2
      },
      {
        "_id" : ObjectId("6033a3b0406aaa04445434a3"),
        "name" : "Abdelmlak",
        "description" : "Hi i am Abdelmlak.",
        "num_of_occ" : 1
      },
      {
        "_id" : ObjectId("6033a3b0406aaa04445434a4"),
        "name" : "Alex",
        "description" : "missing keyword",
        "num_of_occ" : 0
      }
    ]
    


    1. MongoDB2.6レプリカセットでHTTPコンソールを有効にする方法

    2. 致命的なエラー:mongodbphpドライバー1.1.2およびPHP7.0.2を使用しているときにクラス'MongoDate'が見つかりません-Laravel5.1

    3. mongodbにクエリを実行して、今日作成されたドキュメントを返します

    4. php-redis-シリアル化せずにPHPオブジェクトをRedisに保存する方法はありますか?