Appcelerator云服务使用AngularJS发布对象查询

Appcelerator云服务使用AngularJS发布对象查询,angularjs,cordova,appcelerator,Angularjs,Cordova,Appcelerator,全部, 我正在使用Appcelerator云服务作为我正在开发的AngularJS/Ionic Framework/PhoneGap移动应用程序的后端。我试图通过用户id和标签数组查询ACS Posts对象 我的代码如下所示: 我正在按如下方式格式化查询字符串: getByFriends: function(user_ids, tag) { var query = "where={$and[{'user_id':$in['" + user_ids + "']},{'ta

全部,

我正在使用Appcelerator云服务作为我正在开发的AngularJS/Ionic Framework/PhoneGap移动应用程序的后端。我试图通过用户id和标签数组查询ACS Posts对象

我的代码如下所示:

我正在按如下方式格式化查询字符串:

    getByFriends: function(user_ids, tag) {
        var query = "where={$and[{'user_id':$in['" + user_ids + "']},{'tags_array':$in['" + tag + "']}]}";

        return $http.get('https://api.cloud.appcelerator.com/v1/posts/query.json?key=' + globals.ACSKey + '&query=' + query + '&_session_id = ' + globals.session_id);

    },
我将代码修改为以下内容,但仍然没有成功

getByFriends: function(user_ids, tag) {

        //return $http.get('https://api.cloud.appcelerator.com/v1/posts/query.json?key=' + globals.ACSKey + '&query=' + query + '&_session_id = ' + globals.session_id);
        return $http.get('https://api.cloud.appcelerator.com/v1/posts/query.json?key=' + globals.ACSKey + '&_session_id = ' + globals.session_id, {
            params: {
                query: "where={$and[{'user_id':$in['" + user_ids + "']},{'tags_array':$in['" + tag + "']}]}"
            }
        });
    },
我希望只返回一条带有我正在传递的id(532f233f1316e90b760eca00)的post记录,但无论我如何尝试,我都会将所有post返回。如果有人能为我指出正确的方向,我将非常感激

谢谢,
布鲁斯

我想出来了。问题是

  • 参数块设置不正确
  • 我需要解码正在发送的字符串
  • 我被说明查询的文档弄糊涂了:where=。。。使用Angular进行此操作的正确方法是,我在下面使用“where”对其进行编码:

    获取:函数(用户id、标签){

    },

  • console.log('PostService.get');
    
    return $http.get('https://api.cloud.appcelerator.com/v1/posts/query.json?key=' + 
        globals.ACSKey, 
        {
        params: {
            "where": decodeURIComponent('{"user_id": {"$in":["' + user_id + '"]},              
            "tags_array":"' + tag + '"}')
        }
    });