- From: Jonas Sicking <jonas@sicking.cc>
- Date: Fri, 18 Jun 2010 23:38:31 -0700
- To: Jeremy Orlow <jorlow@chromium.org>
- Cc: Webapps WG <public-webapps@w3.org>
On Fri, Jun 18, 2010 at 7:13 PM, Jeremy Orlow <jorlow@chromium.org> wrote:
> Another possible meaning for arrays is allowing someone to insert multiple
> values into an index that point to one object store. For example:
> { names: ["Sarah", "Jessica", "Parker"], ...}
> { names: ["Bono"], ...}
> { names: ["Jonas", "Sicking"], ...}
> Then I could look up "Sicking" inside an index with a keyPath of "names" and
> find Jonas even though I didn't know whether I was looking for his first
> name or last.
> I'm not sure whether creating semantics like this (or at least reserving the
> possibility for them in the future) is worth not using indexes as Jonas
> proposed, but it's worth considering.
>
> I'm also not so hot on the idea that if I want to index into something I
> either need to duplicate/mangle data in order to use keyPath or do explicit
> key management (which I'm not so hot on in general). I wonder if we could
> define keyPath to take some sort of array like syntax so that your example
> could work via a keyPath of "[firstName, lastName]" instead. Of course then
> the spec for the keyPath syntax is more complex.
This is what Pablo suggested. Though he suggested the syntax
["firstName", "lastName"] which I think is a better idea as then we
won't need to get into parsing strings more than we already are.
I agree that duplicating or mangling data is not ideal, which is why I
made the suggestion in [1]. I think this is an ok solution for the
case when you have a property that contains a list and you want to add
each entry to the index.
> I'm sold on the need for ways to do composite indexes, but I'm not sure what
> the best way to express them will be. The fact that couchDB allows indexing
> on arrays definitely makes me lean towards your proposal though, Jonas.
Cool!
[1] http://lists.w3.org/Archives/Public/public-webapps/2010AprJun/1094.html
/ Jonas
Received on Saturday, 19 June 2010 06:39:31 UTC