Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using MongoDB.Bson;
- using MongoDB.Driver;
- using MongoDB.Driver.Builders;
- using MongoDB.Driver.GridFS;
- using MongoDB.Driver.Linq;
- using MelvilleAdmin.Models;
- namespace MelvilleAdmin
- {
- public class MongoSample
- {
- public MongoSample ()
- {
- var connectionString = "mongodb://localhost/?safe=true";
- var server = MongoServer.Create(connectionString);
- var database = server.GetDatabase("test");
- var collection = database.GetCollection<User>("users");
- var user = new User { Username = "Max", Password = "password" };
- collection.Insert(user);
- var id = user.Id;
- var query = Query.EQ("_id", id);
- var userFound = collection.FindOne(query);
- //saves the entire document back again
- userFound.Username = "Max2";
- collection.Save(userFound);
- //Update just that field
- var query2 = Query.EQ("_id", id);
- var update = Update.Set("Username", "Max3"); // update modifiers
- collection.Update(query2, update);
- //sample query
- //query = Query.And(
- // Query.Or(Query.EQ("title", "this"),Query.EQ ("","")),
- // query.Or(Query.EQ("title", "this"),Query.EQ ("",""))
- // );
- //Delete a user
- //var queryRemove = Query.EQ("_id", id);
- //collection.Remove(queryRemove);
- //var jobs = database.GetCollection("jobs");
- //var query = Query.And(
- // Query.EQ("inprogress", false),
- // Query.EQ("name", "Biz report")
- //);
- //var sortBy = SortBy.Descending("priority");
- //var update = Update.
- // .Set("inprogress", true)
- // .Set("started", DateTime.UtcNow);
- //var result = jobs.FindAndModify(
- // query,
- // sortBy,
- // update,
- // true // return new document
- //);
- //var chosenJob = result.ModifiedDocument;
- //Map/Reduce
- var map =
- "function() {" +
- " for (var key in this) {" +
- " emit(key, { count : 1 });" +
- " }" +
- "}";
- var reduce =
- "function(key, emits) {" +
- " total = 0;" +
- " for (var i in emits) {" +
- " total += emits[i].count;" +
- " }" +
- " return { count : total };" +
- "}";
- var mr = collection.MapReduce(map, reduce);
- foreach (var document in mr.GetResults()) {
- Console.WriteLine(document.ToJson());
- }
- //var query = Query.EQ("status", "pending");
- //var cursor = tasks.Find(query);
- //cursor.Skip = 100;
- //cursor.Limit = 10;
- //foreach (var task in cursor) {
- // // do something with task
- //}
- //var query = Query.EQ("status", "pending");
- //foreach (var task in tasks.Find(query).SetSkip(100).SetLimit(10)) {
- // // do something with task
- //}
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement