Am 23.09.2011 14:10, schrieb Nils Breunese:
You could create views for every property you want to be able to use as a lookup key 
(by_flash, by_ram, by_eeprom, by_package) and emit the property value as the key: 
emit(property_value, null); Then you can query the view for the property you're looking 
for, e.g /db/_design/ddoc/_view/by_flash?key="8kbyte"

Or you could create a single view which indexes all properties with their values by emitting the 
property key and value as a complex key: emit([property_key, property_value], null); Then you can 
query the view like this: 
/db/_design/ddoc/_view/all_properties?key=["Flash","8kbyte"]
Hi Nils,
thanks. I prefer the second version. My map function now looks like this. Is this correct?

function(doc) {

  if(doc.record_type=="article"){

    for(var key in doc.properties){

      emit([key, doc.properties[key]], doc._id);

    }

  }

}


The query /test/_design/find/_view/by_property?key=["Flash","8kByte"] returns the result

{"total_rows":8,"offset":3,"rows":[
{"id":"ATmega8A-PU","key":["Flash","8kByte"],"value":"ATmega8A-PU"}
]}

Looks good for me.

Reply via email to