CouchDB /, , . , ...
{
"_id": "...",
"_rev": "...",
"docType": "driver"
}
{
"_id": "...",
"_rev": "...",
"docType": "car",
"driver": "driver _id"
}
duck typing docType, .
:
function(doc)
{
if(doc.docType == "driver")
emit([doc.id, 0], doc);
elseif(doc.docType == "car")
emit([doc.driver, 1], doc];
}
- , _id. ( ).
, .
?startkey=["driver _id"]&endkey=["driver _id", {}]
: " _id - . , - endkey - . . http://wiki.apache.org/couchdb/View_collation?redirect=ViewCollation#Collation_Specification , / .
, , . , docType: elseif docType, emit([doc.driver, 2], doc);. .
, , . ?key=["driver _id", 1] .
.