簡體   English   中英

從查詢的返回數組中獲取對象的值(Parse.com + Node.js)

[英]Fetching Object's values from a returned Array of a Query (Parse.com + Node.js)

我以前使用過Parse SDK,但對於本機移動開發人員-Objective-C和Java而言。 但是,我絕不是 JavaScript開發人員。 我正在嘗試使用Node,並且正在使用Parse為API即時存儲存儲一些東西。 這可能是JavaScript的不勝枚舉,同時也是Parse的問題。

應用環境

我每天都會進行特定的Twitter抓取-TweetDay-它基本上只是一個Parse行,帶有Array值,這是TweetPairs的Array。

TweetPair只是推文文本及其關聯ID的配對。

{“ id”:“ NCnjSDnjScn”,
“ text”:“要酷,Yolanda,要酷!” }

//Look for a Day in the database against the day we supply
query.equalTo("createdAt", req.params.date );
query.find({
    success: function(results) {
        console.log("Successfully retrieved " + results.length + " item");
        // assume there is only ever one result
        var object = results[0];
        console.log(object.id);
        var tweetsPointer = object.get("Pairs");
        //## IT'LL BLOW UP HERE ##
        // tweetsPointer isn't a Parse object, so it doesn't know about .fetch
        tweetsPointer.fetch({
            success: function(tweets) {
                // The object was refreshed successfully.
                console.log(tweets);
                var arr = new Array();
                for (var i = 0; i < tweets.length; i++) { 
                    arr[i] = tweets[i]["text"];
                }
                // just return an array of the tweet messages for that day.
                res.send(arr);
            },
            error: function(myObject, error) {
                // The object was not refreshed successfully.
                // error is a Parse.Error with an error code and description.
            }
        });
    },
    error: function(error) {
        console.log("Error: " + error.code + " " + error.message);
        res.send("Error: " + error.code + " " + error.message);
    }
});

這就是我想要做的。 通常,在iOS SDK中,我可以執行查詢,然后對查詢返回的指針進行提取以獲取實際值(因為查詢返回了PFObject指針)。 值得注意的是,我返回了正確的Parse對象ID,而我的Pairs數組只是正確指針的集合。

我要問的是解析查詢返回的結果是我(延遲加載,沒有值),然后如何獲取該結果的值。 即:我的查詢返回一個Object,帶有一個解析ID數組,與實際值相反。 我現在如何用值填充對象的數組。

我目前收到的

如果在上面的代碼中,對於成功案例,我只是返回結果對象。 即:

success: function(results) {

    // assuming only ever one result
    var object = results[0];
    res.send(object);
...
}

我很高興在瀏覽器中看到

{
    Pairs: [
    {
        __type: "Pointer",
        className: "TweetPair",
        objectId: "wzDNeKJO2n"
    },
    {
        __type: "Pointer",
        className: "TweetPair",
        objectId: "cwXMSPTYEb"
    },
    {
        __type: "Pointer",
        className: "TweetPair",
        objectId: "0FEPlokeIo"
    },
   ..
   ..
    ],

objectId: "5TX1Do98jY",
createdAt: "2014-04-27T07:30:51.658Z",
updatedAt: "2014-04-27T07:30:51.658Z"
}

這是我從Parse的經驗中得到的期望。 但是,我想要的不僅是這些推文的指針,而是這些推文本身。

即:

{
    Pairs: [
    {
        id: "<twitter id>",
        text: "Be cool yolanda, be cool!"
    },
    {
        id: "sdjvbesjvhBJH",
        text: "Zeds dead baby, Zeds dead."
    },
   ..
   ..
    ],

objectId: "5TX1Do98jY",
createdAt: "2014-04-27T07:30:51.658Z",
updatedAt: "2014-04-27T07:30:51.658Z"
}

這就是.fetch通常用於的目的。 即:我將在此數組上調用.fetch,以將指針替換為其實際值(tweet消息)。

過去我可以使用iOS SDK做到這一點,實際上我只是在問JS SDK,如何處理結果調用。 (在iOS中,結果已經是PFObject類型,因此很簡單。)

解析控制台(出於完整性考慮)

TweetDay對象及其tweetPairs數組所有推文對

干杯。

所以我發現了這個方便的小方法,叫做.include();。

上面的代碼

query.equalTo("createdAt", req.params.date );
    query.include("Pairs"); // <-----------------------------win
    query.find({
        success: function(results) {
        console.log("Successfully retrieved " + results.length + " item");
                //Assume one result
                var object = results[0];
                var pairs = object.get("Pairs");
                var arr = new Array();
                for (var i = 0; i < pairs.length; i++) { 
                    arr[i] = pairs[i].get("text");
                }

                res.send(arr);
                ...
}

返回推文列表,而不僅僅是推文指針。

[
"I can feel the collingwood jealousy haha",
"@Real_Liam_Payne Now you know how i feel",
"Oh good, I feel much better, after wasting what was meant to be a study day. Classic Charle.",
"RT @NatalieTosh: Almost feel as nervous as if I was watching my own team. #ALeagueFinals #GoRoar",
"@BronB28 Feel the warmth of the ground All roads lead to us around Through endless sunsets and towns I can feel it sitting down here"
]

請參閱: https//www.parse.com/questions/javascriptjquery-pointer

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM