コード例 #1
0
ファイル: DropIndex.cs プロジェクト: HaKDMoDz/eStd
        public BsonValue Execute(LiteDatabase db, StringScanner s)
        {
            var col = this.ReadCollection(db, s);
            var index = s.Scan(this.FieldPattern).Trim();

            return col.DropIndex(index);
        }
コード例 #2
0
ファイル: Rename.cs プロジェクト: HaKDMoDz/eStd
        public BsonValue Execute(LiteDatabase db, StringScanner s)
        {
            var col = this.ReadCollection(db, s);
            var newName = s.Scan(@"[\w-]+");

            return db.RenameCollection(col.Name, newName);
        }
コード例 #3
0
ファイル: Dump.cs プロジェクト: HaKDMoDz/eStd
        public BsonValue Execute(LiteDatabase db, StringScanner s)
        {
            var result = new StringBuilder();

            if (s.HasTerminated || s.Match("mem$"))
            {
                var mem = s.Match("mem$");

                result = DumpDatabase.Pages(db, mem);
            }
            else
            {
                var col = s.Scan(@"[\w-]+");
                var field = s.Scan(@"\s+\w+").Trim();

                result = DumpDatabase.Index(db, col, field);
            }

            return result.ToString();
        }
コード例 #4
0
ファイル: Bulk.cs プロジェクト: HaKDMoDz/eStd
        public BsonValue Execute(LiteDatabase db, StringScanner s)
        {
            var col = this.ReadCollection(db, s);
            var filename = s.Scan(@".*");

            using (var sr = new StreamReader(filename, Encoding.UTF8))
            {
                var docs = JsonSerializer.DeserializeArray(sr);

                return col.InsertBulk(docs.Select(x => x.AsDocument));
            }
        }
コード例 #5
0
ファイル: Download.cs プロジェクト: HaKDMoDz/eStd
        public BsonValue Execute(LiteDatabase db, StringScanner s)
        {
            var id = this.ReadId(s);
            var filename = s.Scan(@"\s*.*").Trim();

            var file = db.FileStorage.FindById(id);

            if (file != null)
            {
                file.SaveAs(filename, true);

                return file.AsDocument;
            }
            else
            {
                return false;
            }
        }
コード例 #6
0
ファイル: EnsureIndex.cs プロジェクト: HaKDMoDz/eStd
        public BsonValue Execute(LiteDatabase db, StringScanner s)
        {
            var col = this.ReadCollection(db, s);
            var field = s.Scan(this.FieldPattern).Trim();
            var doc = JsonSerializer.Deserialize(s);

            if (doc.IsNull)
            {
                return col.EnsureIndex(field, false);
            }
            else if (doc.IsBoolean)
            {
                return col.EnsureIndex(field, doc.AsBoolean);
            }
            else
            {
                var options = db.Mapper.ToObject<IndexOptions>(doc.AsDocument);

                return col.EnsureIndex(field, options);
            }
        }
コード例 #7
0
ファイル: Rollback.cs プロジェクト: HaKDMoDz/eStd
 public bool IsCommand(StringScanner s)
 {
     return s.Scan(@"rollback(\s+trans)?$").Length > 0;
 }
コード例 #8
0
ファイル: Dump.cs プロジェクト: HaKDMoDz/eStd
 public bool IsCommand(StringScanner s)
 {
     return s.Scan(@"dump\s*").Length > 0;
 }