sql >> Databasteknik >  >> NoSQL >> MongoDB

Hitta det vanligaste ordet i ett strängfält i en samling

Det stängdes nyligen ett JIRA-problem om en $split operator som ska användas i $project skede av aggregeringsramverket.
Med det på plats kan du skapa en pipeline som denna

db.yourColl.aggregate([
    {
        $project: {
            words: { $split: ["$foo", " "] }
        }
    },
    {
        $unwind: {
            path: "$words"
        }
    },
    {
        $group: {
            _id: "$words",
            count: { $sum: 1 }
        }
    }
])

resultatet skulle se ut så

/* 1 */
{
    "_id" : "baz",
    "count" : 3.0
}

/* 2 */
{
    "_id" : "boo",
    "count" : 2.0
}

/* 3 */
{
    "_id" : "bar",
    "count" : 2.0
}


  1. Lagra Enums som strängar i MongoDB

  2. Spring Data MongoDB eliminerar POJO:s

  3. Finns det på något sätt att upptäcka vilka ip-adresser som är anslutna till db?

  4. MongoDB bästa praxis för att räkna relaterade dokument