gpt4 book ai didi

python - 如何在 mongodb 的嵌入式列表中使用 $gt 和 $lt

转载 作者:可可西里 更新时间:2023-11-01 10:35:24 26 4
gpt4 key购买 nike

我正在使用 pymongo,目前只有一个集合。该集合包含代表足球联赛比赛的文件。每场比赛都有目标。目前,目标是作为匹配对象中包含的列表实现的:

{'matchID':1000,
'goals':[{'goalID':200,'scorer':'A'},
{'goalID':201,'scorer':'B']}
]
}
{'matchID':1001,
'goals':[{'goalID':211,'scorer':'C'},
{'goalID':212,'scorer':'D']}
]
}

我想做的是查询 ID 高于 201 的所有目标。我希望从上面的数据中得到目标 211 和 212。

我如何在 mongodb 中实现它 - 我正在尝试这样的事情:

x = mycollection.find({'$gt':[{'match.goals.goalID':201}]})

但这并没有让我到任何地方。我应该将目标拆分成一个单独的集合并手动引用吗?一旦输入了一个目标,它就再也不会被触动了——它将是只读的。

最佳答案

您对该查询有几个问题:

  1. 嵌套在数组中的对象的 goalID 元素的正确点分字段名称应该是“goals.goalID”——也就是说,删除前面的“匹配。
  2. $gt 的正确顺序(和 friend :$gte$lt$lte) 是 field: {$operator: value},比如:

    db.mycollection.find({"goals.goalID": {"$gt": 201}})

关于python - 如何在 mongodb 的嵌入式列表中使用 $gt 和 $lt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7417436/

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