gpt4 book ai didi

arrays - 数组中的 Mango 搜索

转载 作者:行者123 更新时间:2023-12-02 11:38:53 24 4
gpt4 key购买 nike

我的文档的结构如下:

{
"Calibration": {
"Presettings": {
"Date": [
{
"Value": "2016-09-02 10:11",
"Type": "generated"
},
{
"Value": "2016-09-05",
"Type": "schedule",
"Duration": "5"
}
]
}
}
}

我必须如何定义查询对象的选择器部分才能获取日期(值)小于或等于给定日期且 Type==' generated' 的所有文档?

最佳答案

首先,您需要创建索引。我建议您在 Calibration.Presettings.Date 字段 上创建索引。

您可以使用以下 JSON 对象来创建它:

{
"index": {
"fields": [
"_id",
"Calibration.Presettings.Date.[].Type"
]
},
"type": "json"
}

所以选择器会是这样的:

{
"selector": {
"Calibration.Presettings.Date": {
"$elemMatch": {
"$and": [
{
"Type": "generated"
},
{
"Value": {
"$gte": "2016-09-01"
}
}
]
}
}
}
}

我们对字段Calibration.Pressettings.Date执行查询,该字段是一个数组。由于它是一个数组,因此我们必须使用 $elemMatch 运算符。

然后,我们有一个值和类型的 $and 条件。

日期类型必须生成。 With 可以使用 $eq 运算符,也可以简单地使用以下简单语法:{"field":"value"}

最后,日期值必须大于或等于 X 日期。我们可以使用 $gte 运算符。

关于arrays - 数组中的 Mango 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43892556/

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