2014-09-19 98 views
0
db.runCommand({"group" :{ 
    "ns" : "keyword_logs", 
    "key" : "keyword", 
    "initial" : {"keyword" : {}}, 
    "$reduce" : function (doc , prev) { 
     if(doc.keyword != null && prev.keyword != null &&(doc.keyword in prev.keyword)) { 
      prev.keyword[doc.keyword]++; 
     } 
     else { 
      prev.keyword[doc.keyword] = 1 ; 
     } 
    }, 
    "condition" : {"domain" : 40} 
}}) 

这是ERRORMSG为什么编程MongoDB中运行这段代码是错误

{ 
"errmsg" : "exception: JavaScript property (name) contains a null char which is not allowed in BSON. {}", 
"code" : 16985, 
"ok" : 0 
} 

回答

0

感谢吉尔伯特太阳,在他的帮助下,我们找到了错误: 这是查找错误数据的代码

db.runCommand({ 
     "group" :{ 
      "ns" : "keyword_logs", 
      "key" : "keyword", 
      "initial" : {"error" : []}, 
      "$reduce" : function (doc , prev) { 
       if (/\u0000/.test(doc.keyword)) prev.error.push(doc); 
      }, 
      "condition" : {"domain" : 10} 
     } 
    }) 

这是用于搜索的新代码

db.runCommand({ 
    "group" :{ 
     "ns" : "keyword_logs", 
     "key" : "keyword", 
     "initial" : {"keyword" : {}}, 
     "$reduce" : function (doc , prev) { 
      if (/\u0000/.test(doc.keyword)) return; 
      var kw = doc.keyword; 
      if(kw in prev.keyword){ 
       prev.keyword[doc.keyword]++; 
      }else{ 
       prev.keyword[doc.keyword] = 1 ; 
      } 
     }, 
     "condition" : {"domain" : 10} 
    } 
}) 

相关问题