2016-03-30 12 views
0

によって明確な私は、一例として、次のドキュメントのコレクションを持っている:マングース/ MongoDBのクエリは、別の

{ 
    _id: ObjectId("56fbf2210309775d6790c1c0"), 
    city_id: 2600, 
    street_name: "hamilton", 
    branch: 6 
} 

は、それがブランチでコレクションを照会したがstreet_nameに明確なを使用することは可能ですか?

ありがとうございます!

+0

あなたは_ "street_nameの明確な" とはどういう意味ですか_ ? – Joum

+0

'find({branch:1})'のように、 'branch_name 'でクエリを実行すると、同じ' street_name'を持つ複数のドキュメントを持つことができます。私は、 'branch:1'を持つすべてのドキュメントを取得できますが、もしあれば' street_name'の重複を取り除きたいです。 – TBE

答えて

1

唯一の値の場合とは異なることを意味する場合。

あなたはそれが配列を返す

db.yourCollectionName.distinct("street_name") 

を使用することができます。あなたの場合、その配列を入力として使用し、ブランチでさらにフィルタリングすることができます。

のMongoDBのドキュメントhere

編集1:

それとも、あなたは明確な2番目のパラメータを渡すことができ、

//db.collection.distinct(field, query) <-- check out docs. 
db.yourCollectionName.distinct("street_name", { branch: 1 }) 
+0

1つのクエリで行うことは可能ですか? – TBE

+0

はい、別のクエリにも2番目のパラメータを追加できます。 – jmugz3

+0

私はそれをしたとき、文書全体ではなく 'street_name'だけを返します。 – TBE