c# - 连接到 mongodb 唱 C# 快速浏览而不创建数据库或集合

标签 c# mongodb

我正在浏览 mongoDB Driver Documentation Quick Tour首次。特别是 2.4 版本。

我在 192.168.1.50 地址创建了一个新的 mongodb 实例,它似乎运行正常。

MongoDB 文档给出了以下示例:

var client = new MongoClient("mongodb://192.168.1.50:27017");
#It's ok if the database doesn't yet exist.  It will be created upon first use
var database = client.GetDatabase("testDB");
#It’s ok if the collection doesn’t yet exist. It will be created upon first use.
var collection = database.GetCollection<BsonDocument>("testCollection");

但是,当我进入我的服务器时,我进入了 mongo 控制台

mongo

然后我列出数据库使用

show dbs

输出只有

admin 0.000GB
local 0.000GB

为了完成这项工作,我还应该做些什么吗?我在 try/catch 上没有收到任何错误,而且它似乎运行良好。


疑难解答

到目前为止,我已使用以下命令确认 mongodb 正在运行:

netstat -plntu

显示 mongod 在 27017 上以 LISTEN 状态运行。


我也很想知道 mongodb 服务器上是否有查看实时连接的方法,这样我就可以查看它是否真的成功连接。

最佳答案

好吧,问题是您几乎需要创建一个集合才能持久保存创建的数据库(很奇怪吧?)我用 robomongo 测试了它并以这种方式工作。

问题是 GetCollection 方法没有创建目标集合,您可以尝试使用以下代码:

    static void Main(string[] args)
    {
        var client = new MongoClient("mongodb://192.168.1.50:27017");
        //# It's ok if the database doesn't yet exist.  It will be created upon first use
        var database = client.GetDatabase("test");
        //# It’s ok if the collection doesn’t yet exist. It will be created upon first use.

        string targetCollection = "testCollection";
        bool alreadyExists = database.ListCollections().ToList().Any(x => x.GetElement("name").Value.ToString() == targetCollection);

        if (!alreadyExists)
        {
            database.CreateCollection(targetCollection);
        }

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

    }

关于c# - 连接到 mongodb 唱 C# 快速浏览而不创建数据库或集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43421970/

相关文章:

c# - 当应用程序位于 xamarin.ios native 应用程序的前台时,如何获取推送/远程通知?

c# - 检查一个值集合是否包含另一个值

c# - 在多线程场景中从 List<T> 添加/删除特定项目的最佳方法是什么

mongodb - 如何将 Grails 域对象映射到特定的 mongodb 表名

javascript - 如何在 Mongodb 上获取每天的平均数据?

node.js - 如何聚合 Mongoose 中嵌入文档的字段

c# - 获取 LineRenderer 的位置

c# - WPF 如何在代码中将网格行和列大小重置为 "*"

node.js - 我的文档在 NodeJS 的 mongodb 中没有被删除

reactjs - TypeError : options. 提供程序在下一步身份验证中不可迭代