我想在mongodb中拆分我的长查询,例如在下面的代码中使用db.users.find(q),我想使用像这样的db.users.find(q0 + q1)或任何类似的连接版本我可以将q分成两个查询的其他方式
q= {},{name:1,"education.school.name":1,"education.type":1}
db.users.find(q)
q0={}
q1={name:1,"education.school.name":1,"education.type":1}
q=q0+","+q1
db.users.find(q)
我该怎么办?
答案 0 :(得分:0)
您的子句在某些方面有些含糊不清(您的q
和q0
都是空对象),但您可能需要$or运算符
db.users.find(
$or: [
{name:1,"education.school.name":1,"education.type":1},
{age:1,"education.school.name":2,"education.type":2}
]
)
这将返回这两个查询的集合并。也就是说,根据您实际想要做的事情,如果您只想搜索多个值,则可以使用带有值数组的$in
来搜索每个字段。