0

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

我该怎么做这样的事情?

4

1 回答 1

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,如果您只想搜索多个值,则可以使用一组值来搜索每个字段。

于 2012-12-13T16:09:33.060 回答