我想查詢以下數據:CouchDB的芒果查詢(CouchDB的2.0.1)
{
"post_code": 35801,
"country": "United States",
"country_abbreviation": "US",
"places": [
{
"place_name": "Huntsville",
"longitude": -86.5673,
"state": "Alabama",
"state_abbreviation": "AL",
"latitude": 34.7269
}
]
},
..........
我的問題:
- 如何包括,比如說,首先是查詢中的place_name。
下面的JavaScript並沒有給結果:
{
"selector": {
"post_code": {"$eq": 35801}
},
"fields":["places.placename"]
}
上post_code正確的索引:
{
"index": {
"fields": [
"post_code"
]
},
"type": "json",
"name": "post-code-index"
}
我沒有設置其他指標如下:
{
"index": {
"fields": [
"places.placename"
]
},
"type": "json"
}
如果什麼數據有以下字段:
"old_post_code_numbers": [12345, 67890, ......]
或:
如果數據有以下字段:
"places": { "place_name": "Huntsville", "longitude": -86.5673, "state": "Alabama", "state_abbreviation": "AL", "latitude": 34.7269 }
JSON有這麼多的形式,我strug以獲得這些查詢所需的JavaScript背後的原理。 我知道這很簡單。它一定很簡單。
非常感謝我應該/可以訪問任何指導或網站。
編輯:
我設法以下就一個在線的JavaScript測試網站的工作,但我還是沒能得到這個在CouchDB的芒果工作。這當然可以在CouchDB中實現。
var xxx=
{
"post_code": 82941,
"country": "United States",
"country_abbreviation": "US",
"places": [
{
"place_name": "Pinedale",
"longitude": -109.8561,
"state": "Wyoming",
"state_abbreviation": "WY",
"latitude": 42.8543
}]
}
console.log(xxx.places[0].place_name);
你的請求的棘手的事情是,你試圖返回一個數組元素屬性。因此,我認爲它不受Cloudant/CouchDB的支持。爲此,您可以使用map/reduce。 –
Hi @Alexis。謝謝你的評論re map reduce。我已經添加了一個編輯(上面),但也許它是不相關的。 – jlb333333
@Alexis是的,map/reduce使用'places [0] .place_name'工作。謝謝。 – jlb333333