IList <BsonDocument> getAllDocuments(string collectionName) { IList <BsonDocument> docList = new List <BsonDocument>(); using (_ms.RequestStart(_mdb)) { MongoCollection mc = _mdb.GetCollection("csharp"); MongoCursor <BsonDocument> cur = mc.FindAllAs <BsonDocument> (); System.Collections.Generic.IEnumerator <BsonDocument> e = cur.GetEnumerator(); while (e.MoveNext()) { docList.Add(e.Current); } } return(docList); }
public List <BsonDocument> ExecuteQueryBsonDoc(string table, // 表名 IMongoQuery query, // 查询条件,外部要自拼接 string[] fields = null, string sort = "", bool asc = true, int skip = 0, int limt = 0, string[] indexes = null) { // 表不存在,直接返回 if (!TableExists(table)) { return(null); } List <BsonDocument> retlist = new List <BsonDocument>(); try { var cb = check_table(table); MongoCursor <BsonDocument> ret = null; if (query == null) { ret = cb.FindAll(); } else { ret = cb.Find(query); } if (fields != null) { ret = ret.SetFields(fields); } if (sort != string.Empty) { if (asc) { ret = ret.SetSortOrder(SortBy.Ascending(sort)); } else { ret = ret.SetSortOrder(SortBy.Descending(sort)); } } if (skip > 0) { ret = ret.SetSkip(skip); } if (limt > 0) { ret = ret.SetLimit(limt); } var it = ret.GetEnumerator(); while (it.MoveNext()) { retlist.Add(it.Current); } } catch (Exception ex) { Console.WriteLine(ex.Message); retlist.Clear(); } return(retlist); }