zoukankan      html  css  js  c++  java
  • 跟我一步一步写出MongoDB Web 可视化工具(一)

    前言

    距离上一次写博客,已经不记得大概有多长时间了, 是时候继续前行了...

    MongoStudio 是一个Web的 MongoDB可视化操作工具, 一年半前已经写好, 但是总觉得不足, 现从头开始...

    • 语言: C#
    • 驱动: MongoDB C# 2.2 Driver
    • 支持: MongoDB 3.4 及之前版本

    基础

    建立数据库链接

    // To directly connect to a single MongoDB server
    // (this will not auto-discover the primary even if it's a member of a replica set)
    var client = new MongoClient();
    
    // or use a connection string
    var client = new MongoClient("mongodb://localhost:27017");
    
    // or, to connect to a replica set, with auto-discovery of the primary, supply a seed list of members
    var client = new MongoClient("mongodb://localhost:27017,localhost:27018,localhost:27019");

    获取数据库

    var database = client.GetDatabase("foo");

    获取表

    var collection = database.GetCollection<BsonDocument>("bar");

    进阶

    列出数据库集合

    using (var cursor = client.ListDatabases())
    {
        foreach (var document in cursor.ToEnumerable())
        {
            Console.WriteLine(document.ToString());
        }
    }

    MongoDB C# 2.2 Driver 同时也提供了异步方法, 下文将不再给出异步代码, 同步异步区别后续开新文讲。

    using (var cursor = await client.ListDatabasesAsync())
    {
        await cursor.ForEachAsync(document => Console.WriteLine(document.ToString()));
    }
    

    列出指定数据库的所有表

    using (var cursor = database.ListCollections())
    {
        foreach (var document in cursor.ToEnumerable())
        {
            Console.WriteLine(document.ToString());
        }
    }  

    列出指定表的所有数据

    var cursor = collection.Find(new BsonDocument());
    foreach (var document in cursor.ToEnumerable())
    {
        Console.WriteLine(document.ToString());
    }

     

    列出指定表的所有索引

    #region 列出指定表的所有索引
    using (var cursor = collection.Indexes.List())
    {
        foreach (var document in cursor.ToEnumerable())
        {
            Console.WriteLine(document.ToString());
        }
    }
    #endregion 

    今天就到这里了,本篇是基础。示例代码

    参考

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

  • 相关阅读:
    CF351E Jeff and Permutation
    2018-8-10-win10-uwp-绑定-OneWay-无法使用
    2018-8-10-win10-uwp-绑定-OneWay-无法使用
    2018-2-13-C#-通配符转正则
    2018-2-13-C#-通配符转正则
    2019-9-2-win10-uwp-列表模板选择器
    2019-9-2-win10-uwp-列表模板选择器
    2018-2-13-win10-uwp-InkCanvas控件数据绑定
    2018-2-13-win10-uwp-InkCanvas控件数据绑定
    2018-2-13-win10-uwp-unix-timestamp-时间戳-转-DateTime
  • 原文地址:https://www.cnblogs.com/jackbase/p/6595761.html
Copyright © 2011-2022 走看看