前言

上篇讲了一些基础,主要注重的是,包括建立数据库链接、获取数据库、获取表、列出数据库、列出表、列出索引、获取数据等。

本篇依然是基础,注重增改删,废话不多说,咱们开始。

进阶

创建一个数据库和一个集合

            #region 创建一个数据库和一个集合
client.DropDatabase("NewDatabase"); // NewDatebase存在则删除NewDatebase
database = client.GetDatabase("NewDatabase"); // 获取NewDatabase 创建collection时,NewDatabase不存在则自动创建
database.DropCollection("NewCollection"); // NewCollection存在则删除NewCollection
database.CreateCollection("NewCollection"); // 创建 NewCollection
#endregion 

需要说明一点, 创建集合,可以设置集合一些项,关于CreateCollectionOptions 参考类说明了

var options = new CreateCollectionOptions { Capped = true, MaxSize = 1024 * 1024 };
database.CreateCollection("NewCollection1", options);

同时,MongoDB C# Driver 也提供了异步操作的方法,这里不赘述。

创建索引

collection.Indexes.CreateOne(new BsonDocument("newIndex", 1));
//or
var keys = Builders<BsonDocument>.IndexKeys.Ascending("newIndex");
collection.Indexes.CreateOne(keys);

执行指令

            var buildInfoCommand = new BsonDocumentCommand<BsonDocument>(new BsonDocument("buildinfo", 1));
var result = database.RunCommand(buildInfoCommand);

其实, RunCommand方法执行指令,完全可以做到更多的事情。本篇源码

参考

https://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/

http://stackoverflow.com/questions/33440956/mongodb-c-sharp-driver-runcommandasync

跟我一步一步写出MongoDB Web 可视化工具(二)的更多相关文章

  1. 跟我一步一步写出MongoDB Web 可视化工具(一)

    前言 距离上一次写博客,已经不记得大概有多长时间了, 是时候继续前行了... MongoStudio 是一个Web的 MongoDB可视化操作工具, 一年半前已经写好, 但是总觉得不足, 现从头开始. ...

  2. 如何写出优雅的Python(二)

    Print sorted list: colors=['red','green','blue','yellow'] for color in sorted(colors): print color f ...

  3. Oracle如何写出高效的SQL

    转载:http://www.blogjava.net/ashutc/archive/2009/07/19/277215.html 1.选择最有效率的表明顺序(只在基于规则的优化器中有效) Oracle ...

  4. 一步一步写平衡二叉树(AVL树)

    平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树.1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵 ...

  5. 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld

    2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...

  6. 一步一步写一个简单通用的makefile(三)

    上一篇一步一步写一个简单通用的makefile(二) 里面的makefile 实现对通用的代码进行编译,这一章我将会对上一次的makefile 进行进一步的优化. 优化后的makefile: #Hel ...

  7. Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(异常处理和引用计数)

    我们将继续一步一步动手给Python写扩展,通过上一篇我们学习了如何写扩展,本篇将介绍一些高级话题,如异常,引用计数问题等.强烈建议先看上一篇,Python之美[从菜鸟到高手]--一步一步动手给Pyt ...

  8. 一步一步写算法(之挑选最大的n个数)

    原文:一步一步写算法(之挑选最大的n个数) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 从一堆数据中挑选n个最大的数,这个问题是网上流传的 ...

  9. 一步一步写算法(之n!中末尾零的个数统计)

    原文:一步一步写算法(之n!中末尾零的个数统计) [ 声明:版权所有,欢迎转载,请勿用于商业用途.  联系信箱:feixiaoxing @163.com] 在很多面试的题目中,求n!结果中零的个数也是 ...

随机推荐

  1. RNA-seq workflow

    SRAtoolkit download .fa http://www.genomicdataanalysis.com/genomicdatatype/rna-seq/

  2. 修改AD FS

    https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-fs/operations/ad-fs-user-sign-in ...

  3. 【Codeforces Round】 #432 (Div. 2) 题解

    Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017)  A. Arpa and a research in Mexi ...

  4. [Atcoder SoundHound Contest 2018]E.+ Graph

    题面 Time limit : 2sec / Memory limit : 1024MB Score : 600 points Problem Statement-题目描述 Kenkoooo foun ...

  5. datatable的select()结果直接修改,会体现在表上

    如果你只是要修改DataTable里的DataRow的话没有必要找到它的行号,直接在Select后得到的DataRow上修改就行了,它的修改会直接反映到DataTable上(其实就是直接修改了Data ...

  6. linux 命令中英文对照,收集

    linux 命令中英文对照,收集   linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...

  7. Leetcode 存在重复元素 (219,220)

    219. 存在重复元素 II 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. / ...

  8. flutter 读写文件

    import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; import 'd ...

  9. IDEA中Git的更新、提交、还原方法

    第一步:在提交项目之前必须先对项目进行更新,此项特别重要,如果不进行更新,别人有项目提交到服务器上,那么你的项目将会提交不上去,使用git解决冲突会比较麻烦,即使你解决了冲突,但是有时候不注意会冲掉别 ...

  10. Oracle错误——tablespace 'XXXX' does not exist

    错误 在使用IMP命令导入Oracle数据的时候,因为导出数据的数据库表空间和导入数据的数据库表空间不同,导致导入数据失败,出现:tablespace 'XXXX' does not exist 在网 ...