是否可以在Apache CouchDB中按键值进行搜索?给出下面的样本数据(间隔可读性):
{ "_id":"a754a63dcc7f319b02f7ce6de522ca26","_rev":"1-5bd88e53fe0869b8ce274b49a2c1ddf5","name":"john smith","email":"jsmith@example.com","username":"jsmith" }
是的,这当然是可能的.您将创建几个视图,这些视图是数据的排序列表(“索引”),每个键一个.
托比亚斯的链接很有用.但是,标准的CouchDB文档也将涵盖这一点:
书中> Finding your data with views(我更喜欢这个资源)
> Introduction to CouchDB views在维基
例如,在您的设计文档中,您可能需要users_by_email视图,其中包含基于电子邮件字段的键;然后在用户名字段上键入users_by_name视图等.尝试使用Futon中的临时视图,直到您的功能正常工作,然后永久存储在设计文档中.
祝好运!
附:有一种方法可以将所有这些要求合并到一个视图中.简而言之,您可以键入[“email”,“jsmith @ example.com”]或[“name”:“john smith”]但请记住,CouchDB很放松:上面更简单的方法可以正常工作.当您对视图感到满意时,您可以探索这种“整理”的风格.