static void QueryTest()
        {
            var session = new MongoSession(_connectionString) as IMongoSession;
            var col_q = session.AsQuerable<TestData>();
            //var server = MongoServer.Create(_connectionString);
            //var db = server.GetDatabase("common");
            //var col = db.GetCollection<TestData>("TestData", SafeMode.False);
            //var col_q = col.AsQueryable<TestData>();

            //var query = from d in col_q where d.Timestamp > DateTime.Parse("2012-3-1") select d;
            //var query = from d in col_q where d.InnerData.IntData >= 4 select d;
            //var query = from d in col_q where d.InnerData.BoolList[0] == true && d.InnerData.BoolList[1] == false select d;
            //var query = from d in col_q where d.IntData < 10 && d.InnerData.BoolList[0] == true && d.InnerData.BoolList[1] == false select d;
            var query = from d in col_q where d.IntData < 10 && d.InnerData.BoolList[0] == true && Query.EQ("InnerData.BoolList.1", false).Inject() select d;
            //var query = from d in col_q where d.DecimalData > 6.0m select d;  // decimals stored as strings in mongo, so can't query on them
            //var query = from d in col_q where d.InnerData.BoolList.Contains(true) select d;
            //var query = from d in col_q where d.IntData == 7 && d.InnerData.BoolList.Contains(true) select d;

            var mq = (MongoQueryable<TestData>)query;
            var imq = mq.GetMongoQuery();
            var mongoQueryStr = imq.ToString();

            var q2 = query.MongoQueryStr();

            PrintQueryResults(query);
        }