MongoDBController.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.Web.Mvc;
  5. using MongoDB.Driver;
  6. using MongoDB.Driver.Builders;
  7. using Benchmarks.Mono.AspNet.Models;
  8. namespace Benchmarks.Mono.AspNet.Controllers
  9. {
  10. public class MongoDBController : Controller
  11. {
  12. private static string connectionString = ConfigurationManager.ConnectionStrings["MongoDB"].ConnectionString;
  13. public ActionResult Index(int? queries)
  14. {
  15. MongoClient client = new MongoClient(connectionString);
  16. MongoServer server = client.GetServer();
  17. MongoDatabase database = server.GetDatabase("hello_world");
  18. MongoCollection<World> collection = database.GetCollection<World>("world");
  19. List<World> worlds = new List<World>(queries ?? 1);
  20. Random random = new Random();
  21. for (int i = 0; i < worlds.Capacity; i++)
  22. {
  23. int randomID = random.Next(0, 10000) + 1;
  24. worlds.Add(collection.FindOne(Query<World>.EQ(e => e.id, randomID)));
  25. }
  26. return queries != null ? Json(worlds, JsonRequestBehavior.AllowGet)
  27. : Json(worlds[0], JsonRequestBehavior.AllowGet);
  28. }
  29. }
  30. }