Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save craiggwilson/7f4fca009c55ce7feb540073f740fd53 to your computer and use it in GitHub Desktop.
Save craiggwilson/7f4fca009c55ce7feb540073f740fd53 to your computer and use it in GitHub Desktop.
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
using MongoDB.Bson;
using MongoDB.Bson.IO;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Attributes;
using MongoDB.Bson.Serialization.Conventions;
using MongoDB.Driver;
using MongoDB.Driver.Linq;
namespace TestBugs
{
internal class Program
{
private static void Main(string[] args)
{
var client = new MongoClient();
var db = client.GetDatabase("test");
db.DropCollection("people");
var col = db.GetCollection<Person>("people");
col.InsertOne(new Person
{
First = "Jack",
Last = "McJack",
Age = 42
});
Console.WriteLine("Lambdas");
var query = col.Find("{}").Project(p => new Person { First = p.First });
Console.WriteLine(query.ToString());
foreach (var result in query.ToList())
{
Console.WriteLine(result.ToString());
}
Console.WriteLine("Projection");
query = col.Find("{}").Project<Person>(Builders<Person>.Projection.Exclude("Last").Exclude("Age"));
Console.WriteLine(query.ToString());
foreach (var result in query.ToList())
{
Console.WriteLine(result.ToString());
}
}
public class Person
{
public ObjectId Id;
public string First;
public string Last;
public int Age;
public override string ToString()
{
return $"{First} {Last}, {Age}";
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment