Advertisement
Guest User

Untitled

a guest
Oct 6th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.29 KB | None | 0 0
  1. using System;
  2.  
  3.  
  4. using MongoDB.Bson;
  5. using MongoDB.Driver;
  6. using MongoDB.Driver.Builders;
  7. using MongoDB.Driver.GridFS;
  8. using MongoDB.Driver.Linq;
  9.  
  10. using MelvilleAdmin.Models;
  11.  
  12. namespace MelvilleAdmin
  13. {
  14. public class MongoSample
  15. {
  16. public MongoSample ()
  17. {
  18. var connectionString = "mongodb://localhost/?safe=true";
  19. var server = MongoServer.Create(connectionString);
  20.  
  21. var database = server.GetDatabase("test");
  22.  
  23. var collection = database.GetCollection<User>("users");
  24.  
  25. var user = new User { Username = "Max", Password = "password" };
  26. collection.Insert(user);
  27. var id = user.Id;
  28.  
  29. var query = Query.EQ("_id", id);
  30. var userFound = collection.FindOne(query);
  31.  
  32. //saves the entire document back again
  33. userFound.Username = "Max2";
  34. collection.Save(userFound);
  35.  
  36. //Update just that field
  37. var query2 = Query.EQ("_id", id);
  38. var update = Update.Set("Username", "Max3"); // update modifiers
  39. collection.Update(query2, update);
  40.  
  41. //sample query
  42. //query = Query.And(
  43. // Query.Or(Query.EQ("title", "this"),Query.EQ ("","")),
  44. // query.Or(Query.EQ("title", "this"),Query.EQ ("",""))
  45. // );
  46.  
  47. //Delete a user
  48. //var queryRemove = Query.EQ("_id", id);
  49. //collection.Remove(queryRemove);
  50.  
  51. //var jobs = database.GetCollection("jobs");
  52. //var query = Query.And(
  53. // Query.EQ("inprogress", false),
  54. // Query.EQ("name", "Biz report")
  55. //);
  56. //var sortBy = SortBy.Descending("priority");
  57. //var update = Update.
  58. // .Set("inprogress", true)
  59. // .Set("started", DateTime.UtcNow);
  60. //var result = jobs.FindAndModify(
  61. // query,
  62. // sortBy,
  63. // update,
  64. // true // return new document
  65. //);
  66. //var chosenJob = result.ModifiedDocument;
  67.  
  68. //Map/Reduce
  69. var map =
  70. "function() {" +
  71. " for (var key in this) {" +
  72. " emit(key, { count : 1 });" +
  73. " }" +
  74. "}";
  75.  
  76. var reduce =
  77. "function(key, emits) {" +
  78. " total = 0;" +
  79. " for (var i in emits) {" +
  80. " total += emits[i].count;" +
  81. " }" +
  82. " return { count : total };" +
  83. "}";
  84.  
  85. var mr = collection.MapReduce(map, reduce);
  86. foreach (var document in mr.GetResults()) {
  87. Console.WriteLine(document.ToJson());
  88. }
  89.  
  90.  
  91. //var query = Query.EQ("status", "pending");
  92. //var cursor = tasks.Find(query);
  93. //cursor.Skip = 100;
  94. //cursor.Limit = 10;
  95. //foreach (var task in cursor) {
  96. // // do something with task
  97. //}
  98.  
  99. //var query = Query.EQ("status", "pending");
  100. //foreach (var task in tasks.Find(query).SetSkip(100).SetLimit(10)) {
  101. // // do something with task
  102. //}
  103.  
  104.  
  105. }
  106. }
  107. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement