python - 如何在 pymongo 的另一个查询结果中排除一个查询结果?
问题描述
我有 3 种类型的条目:
- 好的条目({“good”:[“cat1”,“cat2”]})
- 错误条目 ({"bad": ["cat2", "cat3"]})
- 正常条目(没有好或坏的字段)
现在我的目标是选择一定数量 ( max_count
) 的条目(最好是好的条目,但绝不是坏的条目)。
假设我有这个查询:
good_jobs = my_db.find(
{
"a": "some_a",
"b": "some_c",
"good": "cat1"
}
).limit(max_count)
因此,这将找到类别“cat1”的所有“好”条目,提供一些 a 和 b。如果我有更多或相同数量的好条目max_count
,我就完成了。
如果不是,我必须选择一些正常的工作,既不是上面好工作的一部分,也不是剩下的坏工作。
所以,我必须这样做:
normal_jobs = my_db(
{
"a": "some_a",
"b": "some_b",
"good": {
"$nin": ["cat1"]
},
"bad": {
"$nin": ["cat1"]
}
}
)
但是有什么办法可以说,以后的查询会排除正式查询的结果吗?就像是:
normal_job = my_db(
{
"a": "some_a",
"b": "some_b",
"bad": {
"$nin": ["cat1"]
},
---> entries not in good jobs
}
)
正确索引对我很有帮助。
解决方案
推荐阅读
- c - 如何反转多行输入?(C)
- python - ModuleNotFoundError:即使安装了模块,也没有名为“mysql”的模块
- c# - 有没有办法使错误消息循环?
- r - 将数据合并到每组一行
- python - 如何在运行之前搜索 python 脚本以使用类方法?
- javascript - 检查 IF 语句中的哪个条件为真
- wso2 - WSO2 APIM 3.0.0 在编辑 master-datasources.xml 文件后拒绝启动
- android - 无法将视图边缘与另一个中心对齐视图对齐
- python - 计算多个文件中单词的出现次数
- python-2.7 - 如何在年、月、日日期时间对象中添加一天