跟我一步一步写出MongoDB Web 可视化工具(二)
前言
上篇讲了一些基础,主要注重的是查,包括建立数据库链接、获取数据库、获取表、列出数据库、列出表、列出索引、获取数据等。
本篇依然是基础,注重增改删,废话不多说,咱们开始。
进阶
创建一个数据库和一个集合
#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 可视化工具(二)的更多相关文章
- 跟我一步一步写出MongoDB Web 可视化工具(一)
前言 距离上一次写博客,已经不记得大概有多长时间了, 是时候继续前行了... MongoStudio 是一个Web的 MongoDB可视化操作工具, 一年半前已经写好, 但是总觉得不足, 现从头开始. ...
- 如何写出优雅的Python(二)
Print sorted list: colors=['red','green','blue','yellow'] for color in sorted(colors): print color f ...
- Oracle如何写出高效的SQL
转载:http://www.blogjava.net/ashutc/archive/2009/07/19/277215.html 1.选择最有效率的表明顺序(只在基于规则的优化器中有效) Oracle ...
- 一步一步写平衡二叉树(AVL树)
平衡二叉树(Balanced Binary Tree)是二叉查找树的一个进化体,也是第一个引入平衡概念的二叉树.1962年,G.M. Adelson-Velsky 和 E.M. Landis发明了这棵 ...
- 《一步一步写嵌入式操作系统》读书笔记1—Skyeye介绍、安装和HelloWorld
2013-11-14 最近在看<一步一步写嵌入式操作系统>,感觉此书甚好,许多地方讲得很清楚.可操作性强,计划边读边实践边写笔记,希望能够逐步熟悉嵌入式操作系统底层的东西,最终剪裁出一套实 ...
- 一步一步写一个简单通用的makefile(三)
上一篇一步一步写一个简单通用的makefile(二) 里面的makefile 实现对通用的代码进行编译,这一章我将会对上一次的makefile 进行进一步的优化. 优化后的makefile: #Hel ...
- Python之美[从菜鸟到高手]--一步一步动手给Python写扩展(异常处理和引用计数)
我们将继续一步一步动手给Python写扩展,通过上一篇我们学习了如何写扩展,本篇将介绍一些高级话题,如异常,引用计数问题等.强烈建议先看上一篇,Python之美[从菜鸟到高手]--一步一步动手给Pyt ...
- 一步一步写算法(之挑选最大的n个数)
原文:一步一步写算法(之挑选最大的n个数) [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 从一堆数据中挑选n个最大的数,这个问题是网上流传的 ...
- 一步一步写算法(之n!中末尾零的个数统计)
原文:一步一步写算法(之n!中末尾零的个数统计) [ 声明:版权所有,欢迎转载,请勿用于商业用途. 联系信箱:feixiaoxing @163.com] 在很多面试的题目中,求n!结果中零的个数也是 ...
随机推荐
- RNA-seq workflow
SRAtoolkit download .fa http://www.genomicdataanalysis.com/genomicdatatype/rna-seq/
- 修改AD FS
https://technet.microsoft.com/en-us/windows-server-docs/identity/ad-fs/operations/ad-fs-user-sign-in ...
- 【Codeforces Round】 #432 (Div. 2) 题解
Codeforces Round #432 (Div. 2, based on IndiaHacks Final Round 2017) A. Arpa and a research in Mexi ...
- [Atcoder SoundHound Contest 2018]E.+ Graph
题面 Time limit : 2sec / Memory limit : 1024MB Score : 600 points Problem Statement-题目描述 Kenkoooo foun ...
- datatable的select()结果直接修改,会体现在表上
如果你只是要修改DataTable里的DataRow的话没有必要找到它的行号,直接在Select后得到的DataRow上修改就行了,它的修改会直接反映到DataTable上(其实就是直接修改了Data ...
- linux 命令中英文对照,收集
linux 命令中英文对照,收集 linux 命令英文全文 Is Linux CLI case-sensitive? The answer is, yes. If you try to run L ...
- Leetcode 存在重复元素 (219,220)
219. 存在重复元素 II 给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的绝对值最大为 k. / ...
- flutter 读写文件
import 'package:flutter/material.dart'; import 'package:path_provider/path_provider.dart'; import 'd ...
- IDEA中Git的更新、提交、还原方法
第一步:在提交项目之前必须先对项目进行更新,此项特别重要,如果不进行更新,别人有项目提交到服务器上,那么你的项目将会提交不上去,使用git解决冲突会比较麻烦,即使你解决了冲突,但是有时候不注意会冲掉别 ...
- Oracle错误——tablespace 'XXXX' does not exist
错误 在使用IMP命令导入Oracle数据的时候,因为导出数据的数据库表空间和导入数据的数据库表空间不同,导致导入数据失败,出现:tablespace 'XXXX' does not exist 在网 ...