从Mongo中删除的Ruby代码

时间:2015-10-04 13:22:02

标签: ruby-on-rails ruby mongodb

我想编写一些ruby来迭代MongoDB中集合中的文档。

我的数据有架构:

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

我首先想要计算整个集合中每次userId = 1时的数量,如果少于5则全部丢弃它们。

我真的不确定如何解决这个问题,所以任何建议都会很棒。

1 个答案:

答案 0 :(得分:1)

您需要通过 count() 方法计算userId = 1的文档数量。因此,从shell(命令行),您可以执行以下操作:

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

然后你必须用Ruby做类似的事情,但它应该非常简单。有关此内容,请参阅Ruby驱动程序的文档:

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