예제 #1
0
        public IEnumerable <Document> FindDocuments(string filter)
        {
            WAHBitArray bits = ExecutionPlan(filter, _docs.RecordCount());

            // enumerate documents
            foreach (int i in bits.GetBitIndexes())
            {
                if (i > _lastDocNum - 1)
                {
                    break;
                }
                string   b = _docs.ReadData(i);
                Document d = fastJSON.JSON.ToObject <Document>(b);

                yield return(d);
            }
        }
예제 #2
0
        public IEnumerable <T> FindDocuments <T>(string filter)
        {
            checkloaded();
            WAHBitArray bits = ExecutionPlan(filter, _docs.RecordCount());

            // enumerate documents
            foreach (int i in bits.GetBitIndexes())
            {
                if (i > _lastDocNum - 1)
                {
                    break;
                }
                string b = _docs.ReadData(i);
                T      d = fastJSON.JSON.ToObject <T>(b, new fastJSON.JSONParameters {
                    ParametricConstructorOverride = true
                });

                yield return(d);
            }
        }
예제 #3
0
        /// <summary>
        /// Fetch a Document
        /// </summary>
        /// <typeparam name="T">Type of Document</typeparam>
        /// <param name="docnum">Document Number</param>
        /// <returns></returns>
        public T Fetch <T>(int docnum)
        {
            string b = _docs.ReadData(docnum);

            return(fastJSON.JSON.ToObject <T>(b));
        }