2016-04-29 87 views
0

目前我有給定存儲過程天青documentdb存儲過程返回部分結果

function getData() {  
    var context = getContext(); 
    var collection = context.getCollection(); 

    var output = collection.map(function (doc) { 
     return { 
      id: doc.id, 
      name: doc.name, 
      status: doc.status, 
      description: doc.description, 
      owner: doc.owner 
     } 
    }) 

    return JSON.stringify(output) 
} 

這裏的問題是,它只是returs 7個文件(匹配,當你沒有得到天藍色面板上的「負荷」行動你會得到什麼)並且正在跳過收集的其餘部分。

我相信它可以使用SQL查詢syntaxt修復,但我想知道如何查詢集合中的所有文檔而不使用它。

+0

我最近看到這個,但你爲什麼'JSON.stringify()'。在我的代碼中,我只是返回沒有序列化的輸出。我想知道是否有一些優勢。 –

回答

1

嘗試添加FeedCallback,如圖所示here,並使回調的簽名爲function(error, resources, options)。尋找錯誤。還要檢查continuation的選項參數。如果這不能爲您提供足夠的信息來解決問題,那麼您可能需要考慮採用更傳統的查詢和轉換方法,而不是使用collection.map()

+0

已經到了這一點。 FeedCallback中的錯誤參數引發'SyntaxError:Unexpected token u'。任何想法它來自哪裏? –

+0

沒什麼,我能想到的。我建議升級到DocumentDB團隊作爲潛在的bug或切換到不使用'collection.map()'。我認爲.map被添加來支持javascript原生查詢,如果在'collection.chain()'之外測試得不夠好,我不會感到驚訝。既然你沒有在你的map函數中轉換值,你可以通過在SELECT子句中指定你想要的字段來複制該功能。請注意,在繼續的情況下,您仍然必須處理分頁。 –

+0

會做拉里。一直試圖測試原生javascript來查詢集合中的文檔,但正如你所說,它似乎沒有按預期工作。 –