当前位置:  开发笔记 > 编程语言 > 正文

使用CouchDB查看通配符?

如何解决《使用CouchDB查看通配符?》经验,为你挑选了2个好方法。

是否可以在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中编写一个视图来做这样的事情?或者我是否需要编写多个视图并单独处理它们?

谢谢,



1> noun..:

您可以指定startkeyendkey使用"通配符" {},一个JavaScript空对象:

http://127.0.0.1:5984/savings/_design/players/_view/average?startkey=["Yankees","male",0]&endkey=["Yankees","male",{}]



2> amorfis..:

通配符不可用,但您可以指定startkeyendkey:

http://127.0.0.1:5984/savings/_design/players/_view/average?startkey=["Yankees","male",0]&endkey=["Yankees","male",999]


endkey = ["Yankees","male",{}]应该更好,因为{}在任何数字后排序.
推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有