incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Aaron Miller <apag...@ninjawhale.com>
Subject Re: Random Document
Date Thu, 23 Sep 2010 07:10:43 GMT
Use a hash, like sha1 to transform the non-uniform id distribution to a
random distribution deterministially. emit(sha1(doc._id)). (plenty of JS
SHA1 hash libs around)
Then to pull a random value out, query the view with startkey=sha1(random
number gen'd at query time) and limit=1.

On Tue, Sep 21, 2010 at 10:27 AM, Peter Braden <
PeterBraden@peterbraden.co.uk> wrote:

> Hi,
>
> Is there a good way to get a random document from a database. I'm currently
> using a view that does:
>
> function(doc) {
>    emit(Math.random(), doc);
> };
>
> But as this isn't deterministic, I'm pretty sure it's wrong.
>
> I've done a bit of googling, and haven't found anything.
>
> Cheers,
>
> Peter
>
>
>
> --
> Peter Braden
>
> <http://PeterBraden.co.uk/>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message