gpt4 book ai didi

Cloudant 选择器查询数组字段

转载 作者:行者123 更新时间:2023-12-04 02:13:07 24 4
gpt4 key购买 nike

我有一个包含此特定结构的 cloudant 文档,一个包含子类别数组的类别的 json 数组, 我正在尝试编写一个 cloudant 查询,该查询返回具有给定 category_id(例如 128)的文档我的问题是它是一个数组。 例如:

"category": {
"sub_category": [
{
"name": {
"en": "Fast food"
},
"category_id": "127"
},
{
"name": {
"en": "Resturans"
},
"category_id": "128"
}
],
}

到目前为止,我已经尝试编写此索引:

{
"index": {},
"type": "text"
}

索引所有内容和一个选择器:

{"category.sub_category":{"$elemMatch" : {"category_id": {"$gt": 128" }}}

但它不起作用。有帮助吗?

最佳答案

看起来您正在将 category_id 存储为字符串,但随后尝试执行数字比较。如果您将 category_ids 更改为整数:

"category_id": 127
...
"category_id": 128

那么这个选择器应该可以工作了:

"category.sub_category": {
"$elemMatch" : {
"category_id": {"$gt": 126 }
}
}

注意:我将查询中的值更改为 126,因为您的样本值为 127 和 128,并且不会通过原始查询 (> 128)。

或者,如果您希望将 category_id 保留为字符串,并且希望查找所有 category_id 等于“128”的文档,那么您可以使用以下选择器:

"_id": { "$gt": null },
"category.sub_category": {
"$elemMatch" : {
"category_id": {"$eq": "128" }
}
}

关于Cloudant 选择器查询数组字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36530215/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com