Pouchdb 当_ID是字符串和数字的组合时,PockDB前缀搜索不起作用

Pouchdb 当_ID是字符串和数字的组合时,PockDB前缀搜索不起作用,pouchdb,Pouchdb,示例doc_id:“foo_1451984426790”//string+getTime()的组合 使用上面的示例代码,我得到0个结果。在这里询问之前,我尝试了很多组合,唯一有效的方法是在“foo”文档中添加一个type属性,并在返回allDocs检查后: if(type === 'foo') console.log('okay you are foo'); else if(type === 'bar') console.log('okay you are bar'); ...

示例doc_id:“foo_1451984426790”//string+getTime()的组合

使用上面的示例代码,我得到0个结果。在这里询问之前,我尝试了很多组合,唯一有效的方法是在“foo”文档中添加一个type属性,并在返回allDocs检查后:

if(type === 'foo') 
    console.log('okay you are foo');
else if(type === 'bar')
    console.log('okay you are bar');
...
因此,我面临的问题是有不同的文档类型,因为有一个“config”文档具有_id==='config',然后每个数据库中有一些“特殊”文档,但其余的文档是用于呈现具有该数据的UI的文档

简而言之,我有两种方法:

  • 在_id前面加前缀,并在数据库本身上获取正确的文档
  • 获取所有文档,如果不是,则获取其中的属性

  • 最终,我解决了这个问题,只需在DB记录中使用一个type属性,并检查它在回调中是否是正确的类型。然而,我更喜欢SQL,习惯于在数据库上而不是在应用程序本身上进行这种检查。在此过程中,我还转换了一个现有的query()调用,以使用一个持久化视图(design doc),每个de docs都更快更好

    if(type === 'foo') 
        console.log('okay you are foo');
    else if(type === 'bar')
        console.log('okay you are bar');
    ...