CouchDB Mango Queries (CouchDB 2.0.1) CouchDB Mango Queries (CouchDB 2.0.1) json json

CouchDB Mango Queries (CouchDB 2.0.1)


I have been able to get a result for part 1. of my question (based on the answer to this question), as follows:

My index:

{"type": "json", "def": {  "fields": [   {    "places.0.place_name": "asc"   }  ] }}

My query:

{  "selector": {    "places.0.place_name": {        "$gte": null      }  },  "fields": [    "_id",    "places.0.place_name"  ],  "sort": [    {      "places.0.place_name": "asc"    }  ]}

Result:

{"docs":[{"_id":"254b9a8c7a46934363076cc3d9034082","places":{"0":{"place_name":"Aberdeen"}}},{"_id":"254b9a8c7a46934363076cc3d9037559","places":{"0":{"place_name":"Altavista"}}},{"_id":"254b9a8c7a46934363076cc3d900e4d2","places":{"0":{"place_name":"Anchorage"}}},{"_id":"254b9a8c7a46934363076cc3d900f3b9","places":{"0":{"place_name":"Anchorage"}}},{"_id":"254b9a8c7a46934363076cc3d902c738","places":{"0":{"place_name":"Ashland"}}},{"_id":"254b9a8c7a46934363076cc3d901a2f2","places":{"0":{"place_name":"Atlanta"}}},{"_id":"254b9a8c7a46934363076cc3d901a374","places":{"0":{"place_name":"Atlanta"}}} .................

In this case I have omitted the "post_code": {"$eq": 35801} but this can be added without an error occurring.

part3:

Index:

{  "index": {    "fields": [      {        "places.place_name": "asc"      }    ]  },  "type": "json"}

Query:

{  "selector": {    "places.place_name": {        "$gte": null      }  },  "fields": [    "places.place_name"  ],  "sort": [    {      "places.place_name": "asc"    }  ]}Result:{"docs":[{"places":{"place_name":"Anchorage"}},{"places":{"place_name":"Anchorage"}},{"places":{"place_name":"Huntsville"}},{"places":{"place_name":"Huntsville"}},{"places":{"place_name":"Phoenix"}},{"places":{"place_name":"Phoenix"}}]}

Part 2:

Index:

{  "index": {    "fields": [      {        "old_post_code_numbers": "asc"      }    ]  },  "type": "json"}

Query:

{  "selector": {    "old_post_code_numbers": {        "$gte": null      }  },  "fields": [    "places.place_name",    "old_post_code_numbers"  ],  "sort": [    {      "old_post_code_numbers": "asc"    }  ]}

Result:

{"docs":[{"places":{"place_name":"Huntsville"},"old_post_code_numbers":[12345,67890]},{"places":{"place_name":"Huntsville"},"old_post_code_numbers":[12345,67890]},{"places":{"place_name":"Anchorage"},"old_post_code_numbers":[12345,67890]},{"places":{"place_name":"Anchorage"},"old_post_code_numbers":[12345,67890]},{"places":{"place_name":"Phoenix"},"old_post_code_numbers":[12345,67890]},{"places":{"place_name":"Phoenix"},"old_post_code_numbers":[12345,67890]}]}

The last example using: "old_post_code_numbers.0" throughout, gives:

{"docs":[{"places":{"place_name":"Huntsville"},"old_post_code_numbers":{"0":12345}},{"places":{"place_name":"Huntsville"},"old_post_code_numbers":{"0":12345}},{"places":{"place_name":"Anchorage"},"old_post_code_numbers":{"0":12345}},{"places":{"place_name":"Anchorage"},"old_post_code_numbers":{"0":12345}},{"places":{"place_name":"Phoenix"},"old_post_code_numbers":{"0":12345}},{"places":{"place_name":"Phoenix"},"old_post_code_numbers":{"0":12345}}]}

I would appreciate any comments.