MongoDBController.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. static Random random = new Random();
  13. static string connectionString = ConfigurationManager.ConnectionStrings["MongoDB"].ConnectionString;
  14. public ActionResult Index(int? queries)
  15. {
  16. MongoClient client = new MongoClient(connectionString);
  17. MongoServer server = client.GetServer();
  18. MongoDatabase database = server.GetDatabase("hello_world");
  19. MongoCollection<World> collection = database.GetCollection<World>("world");
  20. List<World> worlds = new List<World>();
  21. for (int i = 0; i < (queries ?? 1); 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. }