在mongodb中连接两个查询

时间:2012-12-13 16:04:51

标签: mongodb

我想在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)

我该怎么办?

1 个答案:

答案 0 :(得分:0)

您的子句在某些方面有些含糊不清(您的qq0都是空对象),但您可能需要$or运算符

db.users.find(
  $or: [
    {name:1,"education.school.name":1,"education.type":1},
    {age:1,"education.school.name":2,"education.type":2} 
  ]
)

这将返回这两个查询的集合并。也就是说,根据您实际想要做的事情,如果您只想搜索多个值,则可以使用带有值数组的$in来搜索每个字段。