我希望以这样的方式查询我的CouchDB:文档中的某些字段可以是与任何键请求匹配的通配符。
示例:
function(doc) {
emit(doc.some_field, doc);
}
?key=100
会将文档与 100 的 some_field 和 some_field 值匹配,例如 * 。
这可能吗?有没有做到这一点?
答案 0 :(得分:1)
答案 1 :(得分:0)
来自Couchdb wiki:
CouchDB实际存储了 [key,docid]对作为关键 B树。这意味着:
- 您始终知道密钥和值来自哪个文档(它在视图结果中显示为“id”字段)
- 通过增加docid来查看具有相同键的行。
所以我不认为用作密钥一部分的通配符字段是可能的,因为它们是有序的。假设它们是可能的。然后,如果您尝试从视图查询键范围,则将返回带有通配符的行以及任何键范围。这意味着它们无处不在。但那是不可能的,因为它们是有序的。这是一个带有通配符的行放在一对其他行之间,其中一行有一个更大的键,另一行是一个更小的键。