是否有人能够使用新的 mongodb .net 2.0 客户端连接到 MongoDB?
Is anyone able to connect to MongoDB using the new mongodb .net 2.0 client?
我从 2015 年 4 月 2 日发布的 nuget 安装了 MongoDB.Driver 2.0。我还通过 chocolatey 版本 2.4.7 安装了 MondgoDB。我在VS2013中创建了一个测试应用,如下:
var client = new MongoClient();
var database = client.GetDatabase("foo");
var foo = database.GetCollection<BsonDocument>("bar");
根据我在文档中阅读的内容,这应该足以连接到服务器并创建数据库。当我通过 robomongo 检查 mongodb 时,我没有看到数据库 "foo" 已经创建。
我尝试通过 windows 服务器和命令行(管理员模式)运行 mongodb,但没有结果。我已经禁用了我的防火墙,以防出现问题;依然没有。我不得不说,作为我第一次涉足 MongoDB,我本以为它会奏效。
我错过了什么?
... and create the database
在mongodb中没有这样的操作,当你试图向其中插入数据时创建数据库
What am I missing?
您并没有要求 driver 实际上 做 任何事情。所有操作都是惰性的。要让 driver 连接并插入文档,从而同时创建数据库和 collection,请执行以下操作:
var foo = database.GetCollection<Customer>("customer");
foo.InsertOneAsync(new Customer { Name = "John Doe" }).Wait();
其中 Customer
是 class,例如
public class Customer {
public ObjectId Id { get; set; }
public string Name { get; set; }
}
当然,您也可以使用 BsonDocuments
,但这似乎很麻烦。
我从 2015 年 4 月 2 日发布的 nuget 安装了 MongoDB.Driver 2.0。我还通过 chocolatey 版本 2.4.7 安装了 MondgoDB。我在VS2013中创建了一个测试应用,如下:
var client = new MongoClient();
var database = client.GetDatabase("foo");
var foo = database.GetCollection<BsonDocument>("bar");
根据我在文档中阅读的内容,这应该足以连接到服务器并创建数据库。当我通过 robomongo 检查 mongodb 时,我没有看到数据库 "foo" 已经创建。
我尝试通过 windows 服务器和命令行(管理员模式)运行 mongodb,但没有结果。我已经禁用了我的防火墙,以防出现问题;依然没有。我不得不说,作为我第一次涉足 MongoDB,我本以为它会奏效。
我错过了什么?
... and create the database
在mongodb中没有这样的操作,当你试图向其中插入数据时创建数据库
What am I missing?
您并没有要求 driver 实际上 做 任何事情。所有操作都是惰性的。要让 driver 连接并插入文档,从而同时创建数据库和 collection,请执行以下操作:
var foo = database.GetCollection<Customer>("customer");
foo.InsertOneAsync(new Customer { Name = "John Doe" }).Wait();
其中 Customer
是 class,例如
public class Customer {
public ObjectId Id { get; set; }
public string Name { get; set; }
}
当然,您也可以使用 BsonDocuments
,但这似乎很麻烦。