Nicholas Orr wrote:
On Wed, Oct 7, 2009 at 11:53 PM, Rob Stewart
<[email protected]> wrote:
<snip>
Finally.. the dumbest question of all. I realise that CouchDB is a document
based database system. But, what are the tools at a users' peril to
manipulate the returned data. e.g. In a typical DBMS, one could: " select *
from CarList list where list.colour='blue' ". Or perhaps a SQL join
statement, or perhaps a filter statement similar to the Pig filter command.
So is there functionality within CouchDB for this sort of record
manipulation, or do I need to code in some other format to create these
sorts of functions?
You need to create "views" via a Map/Reduce function:
http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views
Where an RDBMS like MySQL/Oracle/MSSQL have SQL. CouchDB has
Map/Reduce to query the data
Using an intermediate library in your language of choice you can get
queries etc to look rather similar, take a look at this C# example
program for using Divan:
http://github.com/gokr/Divan/blob/master/samples/Trivial/Program.cs
...funny enough it also uses "Cars" as an example :). Note the LINQ
integration which actually makes it possible to write:
var fastCars = from c in linqCars where c.HorsePowers >= 175 select c;
(given a view for it)
regards, Göran