Выбор отдельных значений в MongoDB при использовании Studio 3T - PullRequest
0 голосов
/ 21 октября 2019

Я бы хотел выбрать различные значения из моей коллекции. Мой запрос сейчас выглядит следующим образом:

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

Моя коллекция выглядит как

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

, и это результат, который я получаю при выполнении запроса.

Я хотел бы получить информацию обо всех студентах из определенных исследований (в данном случае из исследований компьютерных технологий), и я получаю дополнительные значения для каждого студента, потому что у каждого студента есть отдельная коллекция для каждого зачисленного им курса.

ИтакЯ хотел бы получить этот результат.

name1 last_name1 studies1
name2 last_name2 studies1
name3 last_name3 studies1

Спасибо.

PS Я использую Studio 3T.

Ответы [ 2 ]

0 голосов
/ 21 октября 2019

Studio 3T имеет возможность писать запросы в SQL, а затем переводит их в монго.

Я использовал «выбрать разные» в SQL, и он вернул мне мой монго-запрос с агрегатной функцией. Так что, думаю, это один из способов решения проблемы.

Стоит обратить внимание на заглавные буквы, когда дело доходит до выбора полей, потому что «имя» и «имя» - это не одно и то же. Если вы напишите не ту версию, вы не получите никаких данных.

0 голосов
/ 21 октября 2019
db.getCollection("Students").find({},{name1:1,last_name1:1,studies1:1,_id:0})

вот так, попробуйте ..

...