Запрос облачного кода parse.com, как указать синтаксическому анализу возвращать только определенные столбцы PFObject, найденные в таблице?

У меня есть эта функция для разбора облачного кода:

Parse.Cloud.define("testfunction", function(request, response) {

    var username = request.params.username
    var testObject = Parse.Object.extend('Test');
    var query = new Parse.Query(testObject);
    query.equalTo('username', username);
    // PFObject "Test" in the table has columns A,B and C
    // how do I tell the query that in the final result I send back 
    // in the response I only want filed A?

    query.find({
        success:function(results) {
            response.success(results)
        },
        error:function() {
            response.error('Could not find channels')
        }
    })
});

Я не уверен, как указать запросу возвращать только поле A, а не поля B и C как часть любого из PFObjects, которые возвращаются из запроса?

благодарю вас


person zumzum    schedule 31.08.2014    source источник


Ответы (1)


Вы можете использовать метод select запроса, чтобы ограничить поля, которые будут возвращены.

var username = request.params.username
var testObject = Parse.Object.extend('Test');
var query = new Parse.Query(testObject);
query.select('A');
query.equalTo('username', username);

Это немного скрыто в документации, но вы найдете его в разделе Ограничения запросов Руководства по JavaScript [1] (вам придется немного прокрутить его вниз, чтобы найти).

[1] https://parse.com/docs/js_guide#queries-constraints

person Björn Kaiser    schedule 31.08.2014
comment
хорошо, так что это почти работает. Это означает, что я вошел и ввел три поля PFObject, хранящиеся в таблице, которую я хотел получить. Возвращаются нормально. Независимо от того, что я делаю, кажется, что objectId, createdAt, updatedAt и __type всегда возвращаются. Означает ли это, что я не могу отфильтровать их из ответа? - person zumzum; 31.08.2014
comment
Я не могу доказать это сейчас, но я бы предположил, что, поскольку эти поля являются «основными полями» в Parse, они всегда будут возвращаться при запросе информации. Что вы могли бы сделать, так это просто вернуть новый объект, который просто имеет свойство поля A. Таким образом, вы фактически не вернете запрошенный объект 1: 1, а только извлечете необходимую информацию. - person Björn Kaiser; 31.08.2014
comment
есть ли способ исключить поле? - person jiawen; 24.10.2016