从MongoDb中获取一组随机项

时间:2016-02-15 22:23:29

标签: mongodb random

好吧,首先,我们已经提出了很多问题:

One Random Record via Skip
Random Set via Skip

(SO认为其他两个链接是代码,我不知道为什么 - 如果您有兴趣点击编辑并查看参考文献)

我所有这些的问题在于,如果我理解正确,跳过仍然会浏览它跳过的所有记录,所以它很慢。看起来像mongoDb中添加了一个新的random方法,它从任何匹配的find()中获取一个随机项。有没有办法用它来获取一组记录? 链接示例...

photos.find({"author":"johndoe"}).random()

我可能完全是误会。如果没有,很想知道如何做到这一点,以及如何在.NET驱动程序中做到这一点。

编辑:似乎在2015年9月18日为C#Driver添加了“Sample()”: https://github.com/mongodb/mongo-csharp-driver/commit/bd0383d66be2a76648968fbafaa36bf99c258b2d

public void Sample()
{
    var query = CreateQuery().Sample(100);

    Assert(query,
        2,
        "{ $sample: { size: 100 } }");
}

对我不起作用,但可能是因为我正在运行2.0。

0 个答案:

没有答案