我有 3 种类型的条目:
现在我的目标是选择一定数量 (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
}
)
正确索引对我很有帮助。