0

たとえば、次のコードでdb.users.find(q)を使用する代わりに、mongodbで長いクエリを分割したいのですが、このdb.users.find(q0 + q1)のような連結バージョンを使用したいです。 qを2つのクエリに分割できます

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} 
  ]
)

これにより、これら 2 つのクエリの和集合が返されます。とはいえ、実際に何をしたいかによっては、$in複数の値を検索したいだけであれば、値の配列を使用してフィールドごとに検索できる場合があります。

于 2012-12-13T16:09:33.060 に答える