1

I'd like to to select distinct values from my collection. My query right now, looks like this:

use mongo;
db.getCollection("Students").find(
    { 
        "Name" : {
            "$exists" : true
        }, 
        "Last_Name" : {
            "$exists" : true
        }, 
        "Studies" : "Computer Technologies"
    }, 
    { 
        "Name" : 1.0, 
        "Surname" : 1.0, 
        "Studies" : 1.0, 
        "Semester" : 1.0
    }
);

My collection looks like

id1 name1 last_name1 studies1 semester1 course1
id2 name1 last_name1 studies1 semester1 course2
id3 name1 last_name1 studies1 semester1 course3 
.....
id10 name2 last_name2 studies1 semester1 course1
id11 name2 last_name2 studies1 semester1 course2
id12 name2 last_name2 studies1 semester1 course3

and that's the result which I get when I run my query.

I'd like to have info about all students from certain studies (in this case from Computer Technologies studies) and I get extra values for every student, because every student has separate collection for each course he enrolled.

So, I'd like to get this result.

name1 last_name1 studies1
name2 last_name2 studies1
name3 last_name3 studies1

Thanks.

P.S. I'm using Studio 3T.

Mason
  • 11
  • 1
  • 2

2 Answers2

0
db.getCollection("Students").find({},{name1:1,last_name1:1,studies1:1,_id:0})

like this,try it..

vicky
  • 415
  • 2
  • 10
  • Thank you, but I can't get it to work. It returns only column _id from one document, which is empty. – Mason Oct 21 '19 at 13:30
  • db.getCollection('services').find({},{name:1,desc:1,_id:0}) { "name" : "demo1", "desc" : "" } /* 4 */ { "name" : "Demo", "desc" : "" } /* 5 */ { "name" : "sa", "desc" : "" } – vicky Oct 21 '19 at 13:33
  • I don't get values I need with previous command (I get all the data that exists and I need distinct data). Let me try this one. Thanks again for trying to help me. – Mason Oct 21 '19 at 13:39
0

Studio 3T has option to write queries in SQL and then it translates them to mongo.

I've used "select distinct" in SQL and it returned me my mongo query with aggregate function. So, I guess that's one way to solve the problem.

One thing to watch out is to take care of capital letters when it comes to selecting fields, cause 'name' and 'Name' is not the same. If you write the wrong version, you won't get any data.

Mason
  • 11
  • 1
  • 2