incubator-couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nils Breunese <N.Breun...@vpro.nl>
Subject RE: View to find someone in a list in a document
Date Thu, 03 Sep 2009 08:53:10 GMT
I even learned that using for (... in ...) is not safe for use with arrays. I tend to use Array.forEach()
[0] like this:

----
function(doc) {
  if (doc.users) {
    doc.users.forEach(function(user) {
      emit(user, doc);
    });
  }
}
----

I'm not very proficient in JavaScript, so maybe there is no real in advantage in the realm
of CouchDB.

Nils Breunese.

[0] https://developer.mozilla.org/En/Core_JavaScript_1.5_Reference:Objects:Array:forEach

________________________________________
Van: Jan Lehnardt [jan@apache.org]
Verzonden: woensdag 2 september 2009 21:54
Aan: user@couchdb.apache.org
Onderwerp: Re: View to find someone in a list in a document

Style police!

On 2 Sep 2009, at 19:00, Simon Metson wrote:

> Hi,
>       Do you mean you want to emit each user as a key? Something like:
>
> function(doc) { for (v in doc.users) { emit(doc.users[v], doc); }

is better written as

function(doc) { for (var v in doc.users) { emit(doc.users[v], doc); }

if you leave out the `var` you create a global variable (as opposed to
a local variable in JS and that can have funky effects.

better yet:

function(doc) { if(doc.users) { for (var v in doc.users) { emit
(doc.users[v], doc); }}

protects you against errors for documents that doesn't have a `users`
property.

otherwise, excellent advice! :)

Cheers
Jan

De informatie vervat in deze  e-mail en meegezonden bijlagen is uitsluitend bedoeld voor gebruik
door de geadresseerde en kan vertrouwelijke informatie bevatten. Openbaarmaking, vermenigvuldiging,
verspreiding en/of verstrekking van deze informatie aan derden is voorbehouden aan geadresseerde.
De VPRO staat niet in voor de juiste en volledige overbrenging van de inhoud van een verzonden
e-mail, noch voor tijdige ontvangst daarvan.

Mime
View raw message