2015-10-04 83 views
0

我想編寫一些ruby來遍歷MongoDB中的集合中的文檔。要從Mongo刪除的Ruby代碼

我的數據有模式:

"_id" : ObjectId("560ff830eeb4db07875b59b9"), 
"userId" : NumberInt(1), 
"movieId" : NumberInt(50), 
"rating" : 4.0, 
"timestamp" : NumberInt(1329753504) 

我首先要計算每一次用戶id = 1是目前整個集合中,如果少於5丟棄它們。

我真的不確定如何解決這個問題,所以任何建議都會很棒。

回答

1

您需要通過count()方法來計算具有userId = 1的文檔的數量。因此,從外殼(命令行),你可以做到以下幾點:

var count = db.collection.find({ "userId": 1 }).count(); 
if (count < 5) db.collection.remove() 

然後您就必須做與紅寶石類似的東西,但它應該是相當簡單的。請參閱在Ruby驅動程序的文檔此:

  1. Get a count of matching documents in the collection.
  2. Remove documents from the collection
+1

謝謝你的提示,我應該能夠將其轉換成一個紅寶石塊。 – Benirving92