發表文章

目前顯示的是有「MongoDB」標籤的文章

MongoDB as queue

想要把 MongoDB 裡的其中一個 collection 做為 queue, 讓多個 worker 存取來做事,可以利用 MongoDB 的 findAndModify。 findAndModify 是 atomic operation,執行的結果會回傳一個物件並且更新他的狀態。 例如現在有一個 collection 名為 keys, 裡面存著 {"id": id, "queued": false} db.runCommand({"findAndModify": "keys", "query": {"queued": false}, "update": {"$set": {"queued": true}}})

MongoDB 初體驗

因為 Web Mining final project 我們想做 twitter tweet 的 clustering 及 classification,所以需要從 twitter 下載大量的 Tweet 做為實驗用途。一開始我是把這些 tweet 存成 JSON 在文字檔裡,不過隨著 tweet 量越來越多,用文字檔實在很難處理。由於本來就是存成JSON的格式,所以就想到了 MongoDB。 之前只有玩過try MongoDB, 從來沒有好好用過他,這次剛好有這個機會就來用一下 :P 裝好MongoDB後就可以開始始用了。由於這次 project 是用 ruby 寫的(因為有方便的  Twitter Gem  可以用),所以我用了 Mongo Gem   。Mongo Gem 的用法跟 Mongo shell 裡的用法差不多,簡單的用法如下,更多的說明可以參考 Mongo Gem 的 wiki 。