我使用react-native创建了一个移动应用程序,我使用couchbase进行同步。我已经使用了这个模块。 https://github.com/couchbaselabs/react-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);
});
});
}
当key参数为整数时,该方法可以正常工作,但是当它是一个字符串时,它只返回所有文档。
答案 0 :(得分:0)
这看起来像https://github.com/couchbaselabs/react-native-couchbase-lite/blob/master/index.js
中的错误代码对提供的JSON.stringify
参数的值调用key
,这在处理引号方面有点棘手。 Mozilla文档有更好的讨论here。