2016-11-26 47 views
2

我已经创建了一个使用react-native的移动应用程序,并且我使用couchbase进行同步。我为此使用了该模块。 https://github.com/couchbaselabs/react-native-couchbase-litereact-native couchbase lite按键筛选

根据文档,我可以使用queryView方法从一个键过滤。但在我的应用程序中,我只能使用queryView方法来过滤整数值。当我使用queryView方法处理字符串时,它不会过滤来自文档的值,它只是返回相关类型的所有文档。按照以下方式我定义了我的观点。

 views: { 
      person_view: { 
      map: 'function (doc) { if (doc.type === "Person") { emit(doc.name, null);} }' 
      }, 
     } 

以下是过滤方法。

filterDocumentByAttribute(view, key) { 
    return new Promise((resolve, reject) => { 
     let options = { 
     key: key, 
     include_docs: true 
     }; 
     this.database.queryView(DESIGN_DOCUMENT_NAME, view, options) 
     .then((res) => { 
     console.log(res.rows); 
     resolve(res.rows); 
     }) 
     .catch((error) => { 
     console.log(error); 
     reject(error); 
     }); 
    }); 
    } 

当键参数是整数时,该方法完美地工作,但是当它是一个字符串时,它只返回所有文档。

回答