React native 按键反应本机couchbase lite筛选器
我使用react native创建了一个移动应用程序,我使用couchbase进行同步。我已经为此使用了该模块。 根据文档,我可以使用queryView方法从密钥中筛选。但在我的应用程序中,我只能使用queryView方法过滤整数值。当我对字符串使用queryView方法时,它不会过滤文档中的值,它只返回相关类型中的所有文档。按照这种方式,我定义了我的观点React native 按键反应本机couchbase lite筛选器,react-native,couchbase,couchbase-lite,React Native,Couchbase,Couchbase Lite,我使用react native创建了一个移动应用程序,我使用couchbase进行同步。我已经为此使用了该模块。 根据文档,我可以使用queryView方法从密钥中筛选。但在我的应用程序中,我只能使用queryView方法过滤整数值。当我对字符串使用queryView方法时,它不会过滤文档中的值,它只返回相关类型中的所有文档。按照这种方式,我定义了我的观点 views: { person_view: { map: 'function
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);
});
});
}
当关键参数是integer时,该方法工作正常,但当它是字符串时,它只返回所有文档。这看起来像是一个错误
代码对提供的key
参数的值调用JSON.stringify
,这在处理引号方面有点棘手。Mozilla文档对更多内容进行了很好的讨论