sql >> Database >  >> NoSQL >> MongoDB

Hoe het aantal keren dat een trefwoord in een string voorkomt te krijgen met behulp van mongoDb

Probeer dit:

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 }
                        }
                    }
                }
            }
        }
    }
]);

Uitgang:

[
  {
    "_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. zoek document in het datumbereik van vandaag in mongodb

  2. Hoe gebruik je Mongoose zonder een schema te definiëren?

  3. MongoDB PHP Uncaught MongoDB\Driver\Exception\ConnectionTimeoutException:Geen geschikte servers gevonden

  4. Waar is het logbestand van mongodb in mac