2016-12-13 6 views
1

を動作していません"mongodb://10.0.0.211:27017";DOTNETのMongoDBのドライバ2.3とMapReduceは、私はC#2.3のドライバで、非常に簡単なのMongoDBのMapReduceを実行しようとしているが、私は例外を取得しています

 MongoClient client = new MongoClient(StringDeConexao); 
     var servidor = client.GetDatabase("distribuicoes"); 
     var collection = servidor.GetCollection<BsonDocument>("processo"); 
     var mapa = new BsonJavaScript(@"function() { 
         var chave = this.Natureza; 
         var valor = { 
             this.NumeroDoProcesso, 
             this.Comarca, 
             this.Natureza, 
             this.Classe, 
             this.Assunto.AssuntoPrincipal, 
             this.Autor.Nome, 
             this.Autor.TipoDePessoa, 
             this.CodigoCnaeAutor, 
             this.Reu.Nome, 
             this.Reu.TipoDePessoa, 
             this.CodigoCnaeReu, 
             count:1 
            }; 
            emit(chave, valor); 
           };"); 
     var reducao = new BsonJavaScript(@"function(chave, valores) { 
          var ObjetoReduzido = { 
                Natureza: chave, 
                count: 0 
                }; 
          valores.ForEach(function(valor) { 

                ObjetoReduzido.count+= valor.count; 
                }; 
                return Objeto.Reduzido; 
          };"); 

     var pesquisa = Builders<BsonDocument>.Filter.Regex("Natureza", new BsonRegularExpression("c[ií]vel", "i")); 

     var option = new MongoDB.Driver.MapReduceOptions<BsonDocument, String>(); 
     option.Filter = pesquisa; 
     option.OutputOptions = Inline; 


     var result = collection.MapReduce(mapa, reducao, option);` 

mongodbシェルで動作します。

ありがとうございました。

+0

例外はありますか? – McNets

+0

「追加情報:コマンドmapreduceが失敗しました:例外:SyntaxError:予期しないトークン..」と表示されますが、実際にはどこにあるのかわかりません。 – user1548763

+0

mapreduceの 'mongo shell'版を投稿してください。ここの問題は、JSONの 'valor'の構文によるものだと思います。 'key:value'の組が必要です。 –

答えて

0

あなたのForEach()が正しく形成されておらず、それぞれの関数に最後のセミコロンがあります。

関連する問題