コード例 #1
0
        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);
        }
コード例 #2
0
    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);
    }