상당한 memory 가 필요하기 때문에 이런 방식으로 word count를 하는 것은 추천하진 않는다.
아무튼 aggregate 로 word count 하는 코드는 아래와 같다.
db.mytable.aggregate([
{
$project: {
"words": {$split: ["$wordstring", " "]}
}
},
{
$unwind: "$words"
},
{
$group: {
_id: null,
allwords: {$push: "$words"}
}
},
{
$project: {
wordCount: {$size: "$allwords"}
}
}
],
{
allowDiskUse:true
})
위에서 wordstring 은 개수를 세고싶은 word 가 있는 string.
사용할 땐 아래처럼 사용하면 된다.
출처
https://stackoverflow.com/questions/45266892/mongodb-aggregation-to-count-words-of-strings-matcheshttps://stackoverflow.com/a/45267849/5868252
'MongoDB' 카테고리의 다른 글
[MongoDB] import 속도 향상시키기 (0) | 2019.11.06 |
---|---|
[MongoDB] Docker 로 MongoDB 클러스터 구성하는 방법 (0) | 2019.11.06 |
[MongoDB] Array split 배열 분할하여 새로운 필드명 주기 (0) | 2019.07.13 |
[MongoDB] collection 이름에 " . " dot 이 들어가는 경우 (0) | 2019.07.09 |
[MongoDB] hashed, ranged 샤딩 하는 방법 (0) | 2019.07.09 |