2017-03-03 78 views
0

我試圖做一個簡單的視圖,它將我的數據和按鍵「sortDate」對所有記錄進行分組。我覺得我已經遵循了所有的例子,多次閱讀所有的文檔,但它不能按預期工作。 這裏是視圖代碼我創建:Couchbase Lite查看聚合值爲空(空)

guard let database = database else { return } 

    database.viewNamed("byDate").setMapBlock({ (doc, emit) in 
     if let date = doc["sortDate"] as? String { 
      emit(date, doc) 
     } 
    }, version: "8") 


    let query = database.viewNamed("byDate").createQuery() 
    query.groupLevel = 1 
    query.descending = true 


    do { 
     let result = try query.run() 
     print(result) 
     while let row = result.nextRow() { 
      print(row) 
      print(row.value) //EMPTY 
     } 
    } catch { 
     print("Failed to retrieve all documents for \(database.name) database") 
    } 

我row.value是即使有數據庫中的多個記錄NULL,我allDocs查詢返回就好了。

回答

0

如果鍵不是數組,則指定組合平面會導致CBL使用reduce函數來聚合結果。你沒有指定一個,所以這就是爲什麼你沒有得到任何結果。

從文檔:

每一行的值屬性將是運行視圖的減少了那名聚集了所有行函數的結果;或者如果視圖沒有減少功能,則沒有價值。 (有關縮減功能的信息,請參閱查看文檔。)