当_ID是字符串和数字

时间:2016-01-05 09:17:47

标签: pouchdb

示例doc_id:“foo_1451984426790”//字符串组合+ getTime()

var options = {
    include_docs:true, 
    descending:true,
    startkey: "foo_",
    endkey: "foo_\uffff";
};          
db.allDocs(options, function(err, res) {
    // 0 rows are returned.                     
});

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

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

所以我所遇到的问题是有一个不同的文档类型,因为有一个带有_id ==='config'的“config”文档,那么每个数据库有一些这些'特殊'文档,但是其余文档是用于使用该数据呈现UI的文档。

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

  1. 为_id添加前缀并在db本身上获取正确的文档
  2. 获取所有文档,if-else内部属性

1 个答案:

答案 0 :(得分:0)

最终我只是使用DB记录中的type属性解决了这个问题,并检查它是否是回调中的正确类型。但是我更像是一个SQL人员而且习惯于在数据库上而不是在应用程序本身中进行这种检查。在此过程中,我还转换了一个现有的query()调用,以使用持久视图(设计文档),每个文档更快更好。