使用 PHP SDK 解析服务器聚合

     2023-03-16     205

关键词:

【中文标题】使用 PHP SDK 解析服务器聚合【英文标题】:Parse Server Aggregation using PHP SDK 【发布时间】:2019-02-15 04:10:43 【问题描述】:

我正在尝试在 Parse 的 PHP SDK 中构建一个聚合查询,但我被困在“查找”区域,我看到了一个关于此的 JS 示例,但它不适用于我的情况。

我有一个用户表,其中包含一个 Array 类型的“Tags”字段,该数组实际上是一个指针数组,指向一个单独的 Tag 类。

我想要实现的是根据它们的使用情况列出最流行的标签,所以基本上我需要查询用户类并对数组中存在的标签进行分组,我已经实现了这一点,但我被卡住了使用查找部分,查询当前返回一个标签指针数组,我想要的是拉出这些指针的对象。

这是我目前拥有的:

$query = new ParseQuery('_User');
$pipeline = [
    'project' => ['tags' => 1],
    'unwind' => '$tags',
    'group' => [
        'objectId' => '$tags.objectId',
        'count' => ['$sum' => 1]
    ],
    'sort' => [ 'count' => -1],
    'limit' => 10,
];
try 
    return $query->aggregate($pipeline);
 catch (ParseException $ex) 
    return $ex->getMessage();

这是 _User 集合的外观的 sn-p:

 
    "_id" : "5BuBVo2GD0", 
    "email" : "test@test.com", 
    "username" : "test@test.com", 
    "lastname" : "Doe", 
    "firstname" : "John", 
    "_created_at" : ISODate("2017-01-23T09:20:11.483+0000"), 
    "_updated_at" : ISODate("2019-02-15T02:48:30.684+0000"), 
    "tags" : [
        
            "__type" : "Pointer", 
            "className" : "Tag", 
            "objectId" : "St2gzaFnTr"
        , 
        
            "__type" : "Pointer", 
            "className" : "Tag", 
            "objectId" : "LSVxAy2o74"
        
    ], 
    "_p_country" : "Country$4SE8J4HRBi", 

标签集合如下所示:

 
    "_id" : "St2gzaFnTr", 
    "name" : "Music", 
    "_created_at" : ISODate("2018-10-22T20:00:10.481+0000"), 
    "_updated_at" : ISODate("2018-10-22T20:00:10.481+0000")

任何帮助将不胜感激!

提前致谢

【问题讨论】:

您是否遇到任何错误? 不,我不是,这个查询工作正常我只需要添加一个查找它 您能否为这两个文档发布一些样本集 @AnthonyWinzlet 当然,我刚刚编辑了问题并添加了两个集合的 sn-p 【参考方案1】:

不确定这是否是一个直接的答案,但这里有一个关于频率标签排序的工作聚合......

public function tagHistogram(Request $request, Response $response, array $args): Response 
        $pipeline = [
             'unwind' => '$tags' ,
             'sortByCount' => '$tags',
             'limit' => 1000,
        ];

        $query = new ParseQuery('Product');
        $result = $query->aggregate($pipeline);
        $result = array_map(
            function ($e) 
                $e['name'] = $e['objectId'];
                unset($e['objectId']);
                return $e;
            ,
            $result
        );

        return $response->withJson($result);
    

【讨论】:

谢谢亚瑟!!这引导我朝着正确的方向前进。

聚合数据简易开发流程

...OS开发的程序接口,目前已有Android、iOS版本。开发者可以使用该套SDK开发适用于Android/iOS系统移动设备的应用,通过调用SDK接口,可以轻松的访问聚合的所有数据和服务,构建功能丰富、交互性强的应用程序该SDK集成了平台上的... 查看详情

php不错的rss聚合器/解析器(代码片段)

查看详情

如何使用 iOS SDK 从 ASMX Web 服务中获取和解析 JSON?

】如何使用iOSSDK从ASMXWeb服务中获取和解析JSON?【英文标题】:HowtofetchandparseJSONfromanASMXWebserviceusingiOSSDK?【发布时间】:2014-03-1615:17:10【问题描述】:我有一个ASMX-Web服务并希望请求JSON格式的结果。因此我使用Fiddler发送一个POST-R... 查看详情

typesdk手游聚合sdk服务端设计思路与架构之一:应用场景分析

TYPESDK服务端设计思路与架构之一:应用场景分析        作为一个渠道SDK统一接入框架,TYPESDK从一开始,所面对的需求场景就是多款游戏,通过一个统一的SDK服务端,能够同时接入几十个甚至几百个... 查看详情

crm使用fetchxml分组聚合查询

/*创建者:菜刀居士的博客 *创建日期:2014年07月09号 */namespaceNet.CRM.FetchXml{   usingSystem;   usingMicrosoft.Xrm.Sdk;   usingMicrosoft.Xrm.Sdk.Query;   查看详情

我在解析 php sdk 时遇到问题

】我在解析phpsdk时遇到问题【英文标题】:ihaveaissueinparsephpsdk【发布时间】:2019-11-0520:45:39【问题描述】:我想从back4app检索所有数据并将其显示在laravelphp应用程序中,但是当我将$result压缩到视图中时遇到错误。错误是“数组... 查看详情

使用php解析sql文件

...能检索第一个查询。有人有什么建议吗?转储文件是来自服务器的数据的唯一遗物。 查看详情

使用聚合管道进行文本搜索 - MongoDB / PHP

】使用聚合管道进行文本搜索-MongoDB/PHP【英文标题】:Textsearchwithaggregationpipeline-MongoDB/PHP【发布时间】:2016-08-2318:54:41【问题描述】:我正在尝试在MongoDB3.2中使用聚合管道实现文本搜索这就是我的mongo查询的样子:db.revws.aggregate... 查看详情

使用新的 PHP SDK (3.X.X) 请求许可

】使用新的PHPSDK(3.X.X)请求许可【英文标题】:AskingforpermissionusingnewPHPSDK(3.X.X)【发布时间】:2011-11-0314:04:38【问题描述】:如何使用新的PHPSDK请求权限?我不想一直使用图形api并解析url。打开应用程序时,如果用户尚未授予权限... 查看详情

typesdk手游聚合sdk服务端设计思路与架构之三:流程优化之订单保存与通知

...设计,我们已经可以搭建出一个能够支持多游戏多渠道的聚合SDK服务端,但这只是理想化状态下的一个简化模型。如果接入渠道的逻辑都是按照理想化的简化过程来构建,那么对于支付的请求,我们可以简化成这样几步:游戏客... 查看详情

MongoDB 聚合 - 如何在 PHP 中使用?

】MongoDB聚合-如何在PHP中使用?【英文标题】:MongoDBaggregate-HowtouseinPHP?【发布时间】:2021-11-0918:27:08【问题描述】:我在MongoDB中使用这个命令,它返回正确的数据:db.getCollection(\'school\').aggregate([$group:_id:"$initials",total:$sum:"$total",... 查看详情

使用 KCacheGrind 聚合 PHP XDebug 数据

】使用KCacheGrind聚合PHPXDebug数据【英文标题】:AggregatePHPXDebugdatawithKCacheGrind【发布时间】:2012-08-0916:47:22【问题描述】:有没有什么方法可以汇总PHPXDebug以前获取的配置文件数据?我已经管理PHPXDebug将与一个请求相关的数据放到... 查看详情

如何在 IOS 上使用 Swift 解析 JSON,从 PHP 服务脚本发送?

】如何在IOS上使用Swift解析JSON,从PHP服务脚本发送?【英文标题】:HowtoParseaJSONwithSwiftonIOS,sentfromaPHPservicescript?【发布时间】:2015-12-0604:03:34【问题描述】:我在使用swift在IOS上解析从PHP脚本发送的JSON时遇到问题。我这周刚开始... 查看详情

在 PHP 的服务器端使用 facebook SDK 验证/验证 android 应用程序的用户访问权限?

】在PHP的服务器端使用facebookSDK验证/验证android应用程序的用户访问权限?【英文标题】:Verify/validateUseraccessforandroidappusingfacebookSDKatserversideinPHP?【发布时间】:2015-07-0207:52:53【问题描述】:我有一个安卓应用。用户可以使用faceb... 查看详情

无法使用 SDK 15、IntelliJ 在 JDABuilder 中解析符号“createDefault”

】无法使用SDK15、IntelliJ在JDABuilder中解析符号“createDefault”【英文标题】:Cannotresolvesymbol\'createDefault\'inJDABuilderusingSDK15,IntelliJ【发布时间】:2021-03-0704:56:58【问题描述】:我正在尝试使用IntelliJ制作一个不和谐的机器人,并且我... 查看详情

聚合对象应使用“...”进行初始化

】聚合对象应使用“...”进行初始化【英文标题】:initializationwith\'...\'expectedforaggregateobject聚合对象应使用“...”进行初始化【发布时间】:2013-12-0814:30:19【问题描述】:我正在尝试进行字符串解析(事实证明这是一个巨大的痛... 查看详情

Gradle 无法解析项目:linkedin-sdk

...in-sdk【发布时间】:2017-12-0310:58:33【问题描述】:我正在使用AndroisStudio3.0Canary4。在我的项目中,我有Linkedin-sdk,它可以工作。我可以使用它。唯一的问题是当我搜索构建Gradle时收到此消息。因为我无法构建它,所以我无法使用... 查看详情

MySQL 中使用 PHP 的多维数组和聚合函数?

】MySQL中使用PHP的多维数组和聚合函数?【英文标题】:MultidimensionalarrayandaggregatefunctionsinMySQLusingPHP?【发布时间】:2016-12-0614:05:43【问题描述】:更新如何在名为CUMULATIVETOTAL的u2旁边再显示1列它应该根据辅导员显示学生总数、应... 查看详情