【发布时间】:2017-02-22 02:21:56
【问题描述】:
我目前有一个名为 beacon_logs 的文档,它会在我每次进入信标范围时记录下来。数据看起来类似于这样:
{
"_id": "00198cd8f0fc510dbad06bf24e93f55b",
"_rev": "1-e90f025935847b0412923e4ba472cf2a",
"device": "gwen",
"beaconUUID": "123",
"distance": "0.0",
"timestamp": 1487443924
},
{
"_id": "00198cd8f0fc510dbad06bf24e93f55c",
"_rev": "1-e90f025935847b0412923e4ba472cf2a",
"device": "gwen",
"beaconUUID": "123",
"distance": "0.1",
"timestamp": 1487443925
},
{
"_id": "01ab15fd3a1c7c37ba147be8c56fe389",
"_rev": "1-587035fb7a71962c21f91b86aca56a77",
"device": "gwen",
"beaconUUID": "456",
"distance": "0.87",
"timestamp": 1487031602
},
{
"_id": "01ab15fd3a1c7c37ba147be8c56fe388",
"_rev": "1-587035fb7a71962c21f91b86aca56a77",
"device": "gwen",
"beaconUUID": "456",
"distance": "0.87",
"timestamp": 1487031603
}
还有这个观点:
function (doc) {
emit([doc.beaconUUID,doc.timestamp], doc);
}
我想要的是只获取某个特定的 beaconuuid(即 123),并使其也按时间戳排序。这是我写的查询:
*DB_NAME*/_design/*DDOC_NAME*/_view/*VIEW_NAME*?descending=false&startkey=["123",999999999]&endkey=["123",0]
但是,这会返回给我相当随机的结果,其中也包括其他的 beaconUUID。
我对这个冗长的解释的问题是:鉴于键是一个数组,有没有办法查询数组的值之一,例如
*DB_NAME*/_design/*DDOC_NAME*/_view/*VIEW_NAME*?descending=false&key[0]="123"
如果没有,有人可以推荐一个解决方法吗?
【问题讨论】: