OGeek|极客世界-中国程序员成长平台

标题: ios - 解析IOS查询,该查询返回给定键的匹配值,其中值包含在数组中 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 10:41
标题: ios - 解析IOS查询,该查询返回给定键的匹配值,其中值包含在数组中

我想知道是否有一种方法可以从查询中获取匹配的值,如下所示:

[query whereKey"interests" containedIn: @[@"reading",@"writing",@"typing"]];

现在,说parse有一个名为兴趣的列,其中包含一行值:[“reading”,“typing”]和另一个[“reading”,“typing”,“running”]和另一个[“writing”,“running” ]

有没有办法知道数组匹配的值?

我将提供的containsIn数组将根据用户选择的兴趣列表动态创建。

因此,了解查询匹配的值将非常有帮助,谢谢!



Best Answer-推荐答案


您需要扫描查询返回的结果集,然后自己执行。

这是一个使用Cloud Code的示例,该示例提供了以下参数

@{ @"interests": @[ @"reading",@"writing",@"typing" ] }

将返回以下形式的结果:
@[ @{ @"user": PFUser, @"matchingInterests": @[ @"reading" ] }, ... ]

云代码功能:
var _ = require('underscore');

Parse.Cloud.define("searchInterests", function (request, response) {
  var interests = request.params.interests;
  if (!interests) {
    response.error('interests is required');
    return;
  }

  new Parse.Query(Parse.User)
  .containedIn('interests', interests)
  .limit(1000)
  .find()
  .then(function (users) {
    var results = _.map(users, function (user) {
      return {
        user: user,
        matchingInterests: _.filter(user.get('interests'), function (userInterest) {
          return _.contains(interests, userInterest); 
        });
      };  
    });

    response.success(results);
  }, function (err) {
    response.error(err.message);
  });
});

关于ios - 解析IOS查询,该查询返回给定键的匹配值,其中值包含在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24632021/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4