这很像我在Cloudant 选择器查询 https://stackoverflow.com/questions/33262573/cloudant-selector-query/33835521#33835521但这是适用于你的问题的交易:
运行此查询的最简单方法是使用“Cloudant Query”(或“Mango”,在即将发布的 CouchDB 2.0 版本中称为“Mango”)——而不是 CouchDB 中传统的 MapReduce 视图索引系统。 (本博客介绍了这些差异:https://cloudant.com/blog/mango-json-vs-text-indexes/ https://cloudant.com/blog/mango-json-vs-text-indexes/这是一个概述:https://developer.ibm.com/clouddataservices/2015/11/24/cloudant-query-json-index-arrays/ https://developer.ibm.com/clouddataservices/2015/11/24/cloudant-query-json-index-arrays/).
您的 CQ 指数应如下所示:
{
"index": {
"fields": [
{"name": "Teams.[].id", "type": "string"}
]
},
"type": "text"
}
后续查询如下:
{
"selector": {
"Teams": {"$elemMatch": {"id": "79d25d41d991890350af672e0b76faed"}}
},
"fields": [
"_id",
"FirstName",
"LastName"
]
}
您可以在 Cloudant 仪表板的“查询”部分自行尝试,或者通过curl 使用如下命令进行尝试:
curl -H "Content-Type: application/json" -X POST -d '{"selector":{"Teams":{"$elemMatch":{"id":"79d25d41d991890350af672e0b76faed"}}},"fields":["_id","FirstName","LastName"]}' https://broberg.cloudant.com/teams_test/_find
该数据库是世界可读的,因此您可以在此处查看我在其中创建的示例文档:https://broberg.cloudant.com/teams_test/_all_docs?include_docs=true https://broberg.cloudant.com/teams_test/_all_docs?include_docs=true
挖掘宋飞正传的主题:D