是否可以在CouchDB中的视图中使用通配符?例如,假设我有一个拥有球队,球员年龄,球员平均值和球员性别的数据库。然而,球员的年龄可能不知道 - 他们可能来自多米尼加共和国或诸如此类。所以我想使用一个可以接受没有玩家年龄的地图功能的视图。如果我想让团队中的平均分数最高,无论年龄或特定年龄,如果我想使用复合键,我该怎么办呢?例如,假设我的地图发射函数类似于:
emit([doc.team, doc.gender, doc.age], doc.average);
如果我想传递一个键来缩小它,但仍然考虑没有输入年龄的玩家,我该怎么办,所以不要:
http://127.0.0.1:5984/savings/_design/players/_view/average?key=["Yankees","male",8]
做一些包含这样的通配符的东西,以获得不论年龄的平均值:
http://127.0.0.1:5984/savings/_design/players/_view/average?key=["Yankees","male",*]
是否可以在CouchDB中编写一个视图来执行此类操作?或者我是否需要编写多个视图并单独处理它们?
谢谢,
本
答案 0 :(得分:13)
您可以指定startkey
和endkey
并使用“通配符”{}
,这是一个JavaScript空对象:
http://127.0.0.1:5984/savings/_design/players/_view/average?startkey=["Yankees","male",0]&endkey=["Yankees","male",{}]
答案 1 :(得分:7)
无法使用通配符,但您可以指定startkey
和endkey
:
http://127.0.0.1:5984/savings/_design/players/_view/average?startkey=["Yankees","male",0]&endkey=["Yankees","male",999]