2015-07-13 18 views
0

對於地圖功能,我有以下的代碼工作:包括字典作爲MongoDB中的MapReduce值發出

self.url_with_sessions_mapper = Code(""" 
    function(){ 
     emit(this.page, {'session':this.session, 'time':this.time}); 
    } 
    """) 

但出於某種原因,這並不:

self.url_with_sessions_mapper = Code(""" 
    function(){ 
     emit(this.page, {this.session:this.time}); 
    } 
    """) 

我得到此錯誤消息

on namespace test_database.$cmd failed: exception: SyntaxError: Unexpected token. 

爲什麼後面的語法不工作?

+0

它是對象'關鍵this.session'嘗試'這個[「會議」]'? – Sammaye

回答

0

原來,字典中的鍵('關聯數組')總是被解釋爲字符串,而不是變量名。 實現了我的目標是,語法是:

self.url_with_sessions_mapper = Code(""" 
     function(){ 
      var dd = {}; 
      dd[this.session] = this.time; 
      emit(this.page, dd); 
     } 
     """)