我需要从存储在ouchDB中的给定JSON文档中基于货币(例如,仅美元)获取帐户余额
尝试使用正则表达式(正则表达式),但适用于值而不是关键数据。
{“ _id”:“ ID_000000000”,“ _rev”:“ 45-0ffa69047a93df6fe71656f5a7aa8681”,“ recordID”:“ 32123”,“ currencyData”:{“ 1000104183USD”:100,“ 9000282526INR”:300,“ 2340282526GBP”:0},“ status”:“ ACTIVE”,“〜version”:“ 3213”}
需要一个过滤器或查询,该过滤器或查询将向我提供基于美元,印度卢比或英镑的货币的数据
您可以通过创建视图来实现:
function (doc) {
for (var cur in doc.currencyData) {
if (doc.currencyData.hasOwnProperty(cur)) {
emit([doc._id, cur], 1)
}
}
}
然后可以使用start_key和end_key过滤视图以选择所需的数据集和货币。
没有过滤器:GET /yourDB/_design/myView/_view/byCurrency
已过滤美元:GET /yourDB/_design/myView/_view/byCurrency?start_key=["ID_000000000","1000104183USD"%20]&end_key=["ID_000000000",%20"1000104183USD"]