如何使用PouchDB-find查询多层嵌套CouchDB文档的指定属性
嵌套字段查询实现方案
你可以直接通过点语法指定嵌套属性的路径,完成索引创建和查询操作,具体步骤如下:
1. 创建针对嵌套字段的索引
创建索引时直接用点号拼接嵌套层级,指向你要查询的active字段:
// PouchDB 示例代码 db.createIndex({ index: { fields: ['properties.active'] } })
如果使用CouchDB原生HTTP接口,请求参数里的fields字段写法和上面完全一致。
2. 执行嵌套字段查询
查询时在selector中同样用点语法指定嵌套字段,加上对应的匹配条件即可:
// 查询properties.active为字符串"true"的所有文档 db.find({ selector: { "properties.active": "true" } }).then(res => { // 匹配结果存在res.docs中 })
注意:你的示例文档中
active存储的是字符串类型的"true",如果实际业务中存的是布尔值true,需要把selector中的匹配值对应改为布尔类型,避免类型不匹配导致查询无结果。
内容的提问来源于stack exchange,提问作者Yuehai
相关产品推荐
相关产品推荐

