gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:28:57 26 4
gpt4 key购买 nike

我正在浏览 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com