如何解决Mongodb结合多个查询
我有一个REST API,可以在其中获得如下所示的搜索参数。
API查询
{
[
{
"state": "abc","country": "IN"
},{
"state": "def","country": "US"
}
]
}
Mongodb模式
id | description | state | country
1 | India | abc | IN
2 | USA | def | US
我正在寻找一种优化查询,以使用一个mongodb查询获取每个API查询行的描述。我正在看嵌套和。
修改:我不是要查找排序后的回复。
{
$and: { [
$and: [
{"state": "abc","country": "IN"},{"state": "def","country": "US"}
]
] }
}
我想知道任何更好的查询方法来提高查询性能,这是州和国家/地区字段的复合索引吗?任何指针都将受到高度赞赏。
解决方法
您可以使用$ and。语法应如下所示。
{
"$and": [
{"$and": {"state": "abc","country": "IN"}},{ "$and": {"state": "def","country": "US"}}
]
}
如果您有一个索引{state,country}
,则可以按顺序提供它们。
如果已对频繁请求进行了分析,则可以对存储在索引中的值进行排序以加快检索速度。 Refer。如果您要求的国家名称属于第一组,则可以将它们从a到z存储在索引中。否则为相反顺序。
即使您仅分别具有州索引和国家索引,也有可能会进行索引交叉。在这种情况下,您不需要复合索引。
如果您有很多匹配条件,建议您explain()
进行查询以了解所有匹配条件。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。