C# dotnet mongodb驱动程序2.3和mapreduce不工作
我试图用c#2.3驱动程序执行一个非常简单的mongodb mapreduce,但遇到了一个异常: 代码是:` 字符串StringDeConexao=”mongodb://10.0.0.211:27017";C# dotnet mongodb驱动程序2.3和mapreduce不工作,c#,mongodb,mapreduce,driver,C#,Mongodb,Mapreduce,Driver,我试图用c#2.3驱动程序执行一个非常简单的mongodb mapreduce,但遇到了一个异常: 代码是:` 字符串StringDeConexao=”mongodb://10.0.0.211:27017"; MongoClient=新的MongoClient(StringDecoExao); var servidor=client.GetDatabase(“Distributicoes”); var collection=servidor.GetCollection(“processo”);
MongoClient=新的MongoClient(StringDecoExao);
var servidor=client.GetDatabase(“Distributicoes”);
var collection=servidor.GetCollection(“processo”);
var mapa=new BsonJavaScript(@“function()){
var chave=这个。Natureza;
var valor={
这个,数字处理,
这是Comarca,
这是Natureza,
这个,Classe,
这是我的校长,
这是自动命名,
这是我的,
这是CodigoCnaeAutor,
这个,鲁·诺姆,
这是Reu.TipoDePessoa,
这是CodigoCnaeReu,
计数:1
};
发出(勇气、勇气);
};");
var reduceAO=新的BsonJavaScript(@)函数(chave,valores){
变量ObjetoReduzido={
自然:查夫,
计数:0
};
valores.ForEach(函数(valor){
ObjetoReduzido.count+=valor.count;
};
返回Objeto.Reduzido;
};");
var pesquisa=Builders.Filter.Regex(“Natureza”,新的BsonRegularExpression(“c[ií]vel”,“i”);
var option=new MongoDB.Driver.MapReduceOptions();
option.Filter=pesquisa;
option.OutputOptions=Inline;
var result=collection.MapReduce(mapa、reduceao、option)`
它在mongodb shell上工作
谢谢您的帮助。您的ForEach()格式不正确,每个函数都有尾随分号。您的ForEach()格式不正确,每个函数都有尾随分号。上面写着“其他信息:命令mapreduce失败:异常:SyntaxError:意外标记…”但是我真的看不到哪里有。你能发布mapreduce的
mongo shell
版本吗?我认为这里的问题是由于valor
的JSON语法造成的。它需要key:value
对。上面写着“附加信息:命令mapreduce失败:异常:语法错误:意外令牌…”但是我真的看不到哪里有。你能发布mapreduce的mongo shell
版本吗?我认为这里的问题是由于valor
的JSON语法。它需要key:value
对。
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);`