Cloudant搜索索引中布尔字段返回为字符串,如何使其返回布尔类型?
解决Cloudant搜索索引返回布尔字段为字符串的问题
这个问题我碰到过!问题出在Cloudant搜索索引存储字段时的默认类型处理上——虽然你的文档里active是布尔值,但默认配置下,索引存储时会把它转成字符串类型返回。
解决方案
要让返回的active保持布尔类型,你需要在索引定义的index函数中,明确指定字段的类型为boolean,修改后的索引代码如下:
index("active", doc.active, {"store": true, "index": false, "type": "boolean" });
原理说明
添加"type": "boolean"参数后,Cloudant会按照布尔类型来存储这个字段,而不是自动转换为字符串。这样在检索数据时,返回的active字段就会保持原始的布尔类型(true/false),而不是字符串形式的"true"/"false"。
注意事项
- 修改完索引定义后,记得重新构建索引,确保新的配置生效。
- 如果你已经有旧的索引数据,可能需要重新索引所有文档,才能让已存在的文档返回正确的布尔类型。
内容的提问来源于stack exchange,提问作者bryan
相关产品推荐
相关产品推荐

