2017-12-21 10 views
0

コレクションに特定の値を問い合わせた後、いくつかの異なる値を探したかったのです。Mongoose:find()でdistinct()を呼び出す

例: 私のモデルは生徒のものです。各文書のフィールドは、名前、件名、マークです。

今、私は、「マーク」という名前の学生の別個の科目を取得したいと思います。 students.find({"name":"Mark"}).distinct("subject") これは私が同じにaggregrateパイプラインを使用することによって達成することができることを理解db.getCollection(...).find(...).distinct is not a function

そのエラーを与えるが、問題は、なぜカントこの二つが連鎖することである:私はしようとしていましたか?

+0

を参照することができdistinctコマンドについては

db.runCommand({ distinct : "students", key : "subject", query : {"name":"Mark"} }) 

:あなたはこれを試すことができます。それを受け入れるように気をつけてください。 –

答えて

2

マングースのAPI docuemtationで述べたように、あなたはこのようなものを使用することができます。

distinct(field, conditions) 

ので、あなたの場合には、それはこのようなものになるだろう:あなたがしようとしている場合

students.distinct("subject", {"name":"Mark"}) 

mongo-shellで同じです。以下の答えはあなたのために働いていた場合は、MongoDBのdocumentation

関連する問題