public IEnumerable<dynamic> Get(dynamic queries)
{
List<dynamic> _docs = new List<dynamic>();
foreach (var q in queries)
{
string _coll = q.collection.ToString();
string _query = "";
string _orderby = "";
List<string> _fields = new List<string>();
if (q.fields != null)
foreach (var f in q.fields)
if (!String.IsNullOrEmpty(f))
_fields.Add(f.ToString());
if (q.query != null)
_query = q.query.ToString();
if (q.orderby != null)
_orderby = q.orderby.ToString();
var col = _db.GetCollection(_coll);
var _results = col.GetItems<BsonDocument>(_fields, _query, _orderby);
var cid = (q.contextid != null) ? q.contextid : "";
//ensures that the objectid is not part of the json string
var _settings = new JsonWriterSettings { OutputMode = JsonOutputMode.Strict };
var _res = new { contextid = cid, results = JsonConvert.DeserializeObject<dynamic>(_results.ToJson(_settings)) };
dynamic doc = JsonConvert.DeserializeObject<dynamic>(JsonConvert.SerializeObject(_res));
_docs.Add(doc);
}
return _docs;
}