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