所以我正在使用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
数组中的每个条目创建一个查询,但效率非常低。
答案 0 :(得分:4)
只需将您的equalTo
替换为containedIn
:
query.containedIn("facilityNumber", facilitiesArray);
此处的文档: http://parse.com/docs/js/symbols/Parse.Query.html#containedIn