【发布时间】:2015-12-07 20:54:25
【问题描述】:
我使用 Parse.com Core 和 Cloud Code 来存储数据并为移动应用程序执行一些操作。我对数组字段的查询有疑问,即使我确定它应该返回,有时也不会返回任何内容。
我将大量电话号码存储在一个数组字段中,以跟踪用户的匹配联系人。 这个字段叫做phoneContacts,看起来像这样(只有数字,这只是一个例子):
["+33W30VXXX0V","+33W30VXX843","+33W30VZVZVZ","+33W34W3X0Y4","+33W34W386Y0", ...]
我在 Cloud Code 中有一个函数,它应该为给定的电话号码获取匹配的行。这是我的查询:
var phoneNumber = request.params.phoneNumber;
var queryPhone = new Parse.Query('UserData');
queryPhone.equalTo('phoneContacts', phoneNumber); // phoneNumber is passed as a string param, i.e. "+33W30VXX843"
queryPhone.include('user');
var usersToNotify = [];
return queryPhone.each(function(userData) {
var user = userData.get('user');
usersToNotify.push(user.get('username'));
})
.then(function() {
return usersToNotify;
});
我使用包含 2 个或 3 个电话号码的数组测试了我的查询,它运行良好并返回了预期的行。但是后来我尝试了一个在该 phoneContacts 字段中有大约 300 个电话号码的用户,即使我查询一个存在的值(在 Parse Data Browser 中出现一个过滤器),也没有返回任何内容。为了确保我什至取了一个存在于 2 行中的电话号码:一个有几个值,一个有很多值,并且只返回有几个值的行。
我已仔细阅读 Parse 文档,尤其是有关 queries 和 field limits 的内容,但它似乎对数组字段的值数量没有限制,并且没有任何内容表明查询可能不起作用有很多价值。
谁能指出我正确的方向?我应该以不同的方式设计我的 Parse 类以避免在数组字段中有这么多值吗?还是查询有问题?
【问题讨论】:
标签: arrays parse-platform parse-cloud-code nosql