示例#1
0
 /// <summary>
 /// Runs a Map/Reduce command on this collection.
 /// </summary>
 /// <param name="map">A JavaScript function called for each document.</param>
 /// <param name="reduce">A JavaScript function called on the values emitted by the map function.</param>
 /// <param name="options">Options for this map/reduce command (see <see cref="MapReduceOptionsDocument"/>, <see cref="MapReduceOptionsWrapper"/> and the <see cref="MapReduceOptions"/> builder).</param>
 /// <returns>A <see cref="MapReduceResult"/>.</returns>
 public virtual MapReduceResult MapReduce(
     BsonJavaScript map,
     BsonJavaScript reduce,
     IMongoMapReduceOptions options)
 {
     return(_collection.MapReduce(map, reduce, options));
 }
示例#2
0
        public override MapReduceResult MapReduce(BsonJavaScript map, BsonJavaScript reduce, IMongoMapReduceOptions options)
        {
            var sw = new Stopwatch();

            sw.Start();
            var result = base.MapReduce(map, reduce, options);

            sw.Stop();

            string commandString = string.Format("db.{0}.mapReduce(<map function>, <reduce function>, options)", Name);

            ProfilerUtils.AddMongoTiming(commandString, sw.ElapsedMilliseconds, ExecuteType.Create);

            return(result);
        }
示例#3
0
 public MapReduceResult MapReduce <T>(IMongoQuery query, string map, string reduce, IMongoMapReduceOptions options)
 {
     return(GetCollection <T>().MapReduce(query, map, reduce, options));
 }
示例#4
0
        public MapReduceResult MapReduce(IMongoQuery query, BsonJavaScript map, BsonJavaScript reduce, IMongoMapReduceOptions options)
        {
            IMongoQuery fixedQuery = MongoUtil.FormatIdElementForMongoQuery(query);

            return(Collection.MapReduce(fixedQuery, map, reduce, options));
        }
示例#5
0
        public static Task <MapReduceResult> MapReduceAsync(this MongoCollection collection, IMongoQuery query, BsonJavaScript map, BsonJavaScript reduce, IMongoMapReduceOptions options)
        {
            var tcs = new TaskCompletionSource <MapReduceResult>();

            ThreadPool.QueueUserWorkItem(_ =>
            {
                try
                {
                    var result = collection.MapReduce(query, map, reduce, options);
                    tcs.SetResult(result);
                }
                catch (Exception exc)
                {
                    tcs.SetException(exc);
                }
            });
            return(tcs.Task);
        }
示例#6
0
 public MapReduceResult MapReduce(IMongoQuery query, BsonJavaScript map, BsonJavaScript reduce, IMongoMapReduceOptions options)
 {
     return(_collection.MapReduce(query, map, reduce, options));
 }