#javascript #arrays #parse-platform
#javascript #массивы #синтаксический анализ-платформа
Вопрос:
Итак, я работаю над проектом с javascript и parse.com где каждый пользователь будет связан с определенным объектом. У каждого объекта есть свой собственный номер, поэтому у меня есть массив с номерами этих объектов в объекте пользователя. Когда этот пользователь войдет в систему, появится массив с номерами объектов, с которыми мне нужно выполнить запрос. Я просмотрел документы и увидел журнал запросов с массивами, но они, похоже, не соответствовали моим потребностям.
Я хочу, чтобы массив возвращался с каждым объектом объекта из таблицы объекта. Вот краткая диаграмма структур классов:
Пользователь: [userInfo(username, pass, etc]|[facilities(array)]
Средства: [facilityName]|[facilityNumber]|[etc]
Таким образом, пользователь может быть связан с несколькими объектами. Мне нужно взять массив номеров объектов и получить обратно массив этих объектов. Так facilities
могло бы быть [1,2,11]
, и это вернуло бы три разных объекта объекта в массив.
Я попробовал это:
function loadFacilities(user) {
var facilitiesArray = user.get("facilities");
var query = queryWithClassName("facilities");
query.equalTo("facilityNumber", facilitiesArray);
query.find().then(function (results) {
console.log(results);
});
}
Зная, что я, скорее всего, получу 400 bad request
ошибку, потому facilityNumber
что это число, а не массив, подобный facilities
.
Итак, каков наилучший способ сделать это. Я могу легко создать запрос для каждой записи в facilities
массиве, но это очень неэффективно.
Ответ №1:
Просто замените ваш equalTo
на containedIn
:
query.containedIn("facilityNumber", facilitiesArray);
Документация здесь:
http://parse.com/docs/js/symbols/Parse .Query.html#containedIn