UPM package for MongoDB.Entities. NOT updated regularly.
npm install com.adrenak.mongodb.entities.upm   
ObjectIds, BsonDocuments & magic strings. One-To-One, One-To-Many and Many-To-Many relationships.csharp
//Initialize database connection
new DB("bookshop","localhost"); //Create and persist an entity
var book = new Book { Title = "The Power Of Now" };
book.Save();
//Embed as document
var dickens = new Author { Name = "Charles Dickens" };
book.Author = dickens.ToDocument();
book.Save();
//One-To-One relationship
var hemmingway = new Author { Name = "Ernest Hemmingway" };
hemmingway.Save();
book.MainAuthor = hemmingway;
book.Save();
//One-To-Many relationship
var tolle = new Author { Name = "Eckhart Tolle" };
tolle.Save();
book.Authors.Add(tolle);
//Many-To-Many relationship
var genre = new Genre { Name = "Self Help" };
genre.Save();
book.AllGenres.Add(genre);
genre.AllBooks.Add(book);
//Queries
var author = DB.Find().One("ID");
var authors = DB.Find().Many(a => a.Publisher == "Harper Collins");
var eckhart = DB.Queryable()
.Where(a => a.Name.Contains("Eckhart"))
.SingleOrDefault();
var powerofnow = genre.AllBooks.ChildrenQueryable()
.Where(b => b.Title.Contains("Power"))
.SingleOrDefault();
var selfhelp = book.AllGenres.ChildrenQueryable().First();
//Delete
book.MainAuthor.Delete();
book.AllAuthors.DeleteAll();
book.Delete();
DB.Delete(genre.ID);
``