我想编写一些ruby来迭代MongoDB中集合中的文档。
我的数据有架构:
"_id" : ObjectId("560ff830eeb4db07875b59b9"),
"userId" : NumberInt(1),
"movieId" : NumberInt(50),
"rating" : 4.0,
"timestamp" : NumberInt(1329753504)
我首先想要计算整个集合中每次userId = 1时的数量,如果少于5则全部丢弃它们。
我真的不确定如何解决这个问题,所以任何建议都会很棒。
答案 0 :(得分:1)
您需要通过 count()
方法计算userId = 1
的文档数量。因此,从shell(命令行),您可以执行以下操作:
var count = db.collection.find({ "userId": 1 }).count();
if (count < 5) db.collection.remove()
然后你必须用Ruby做类似的事情,但它应该非常简单。有关此内容,请参阅Ruby驱动程序的文档: