Анализ базы данных Javascript Как получить данные из нескольких таблиц, когда столбец имеет одинаковое значение

Я новичок в разборе DB. В последнее время я пытаюсь получить данные из нескольких таблиц, как у меня есть таблица Users и таблица Employee, где User.objectId равен Employee.userid. Я пробовал много способов, но не получил никаких результатов.

let query = new Parse.Query(Employee);
query.descending("updatedAt");
let userQuery = new Parse.Query(User);
userQuery.select("username", "firstName", "lastName", "profile1", "reporter");
query.matchesKeyInQuery("reporter", "reporter", userQuery);

return userQuery.find({
   success: function (results) {
       return results;
       },
       error: function (error) {
            console.log(error);
       }
});

Есть ли способ получить данные из нескольких таблиц на Parse DB Javascript. Я также попытался включить пользователя, но запрос пуст.

1 ответ

Если я правильно понимаю ваш вопрос, вы хотите получить оба User данные и Employee данные с одного запроса. По определению вы не можете получить "данные из нескольких таблиц", потому что каждый запрос Parse работает только с одной таблицей. Тем не менее, вы можете include объекты из других таблиц, когда они хранятся в виде указателей на запрашиваемую таблицу. Или вы можете выполнять несколько запросов параллельно и, таким образом, получать данные из нескольких таблиц.

В вашем случае я предлагаю первое упомянутое решение, которое требует изменения схемы данных: вместо простого сохранения userId в Employee вам лучше хранить указатель на User (вероятно, названный user). Таким образом, вы можете выполнить запрос следующим образом:

const query = new Parse.Query(Employee)
query.descending('updatedAt')
query.include('user')
const employee = await userQuery.first() // assuming that we have at least one Employee
const user = employee.get('user')

Обратите внимание, что вы не можете использовать полный набор помощников запросов с вложенными указателями, например, я думаю, select не будет работать на employee.user,

Другие вопросы по тегам