我正在努力将C#控制台应用程序与MongoDb连接起来。 MongoDb服务器启动并运行,因为我可以使用Mongobooster IDE和命令提示符。我已经为连接v2.4.1安装了最新的官方MongoDB.Driver,所以基本上我不能使用db.document.Save方法作为解决方案。在这个应用程序中,我使用下面的db.document.insert方法是代码已成功编译并执行但我的数据尚未存储在服务器上。我正在使用.NET Core,因此我不能使用旧版本的驱动程序,因为它们不受.NET Core支持。
学生模特
public class Students
{
public ObjectId Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string City { get; set; }
public string Age { get; set; }
}
这是我的Connection对象和Student对象
protected static IMongoClient _client;
protected static IMongoDatabase _database;
public static Students GetStudent()
{
Console.WriteLine("Please enter student first name");
string FNm = Console.ReadLine();
Console.WriteLine("Please enter student last name");
string LNm = Console.ReadLine();
Console.WriteLine("Please enter student age");
string StudentAge = Console.ReadLine();
Console.WriteLine("Please enter city name");
string StudentCity = Console.ReadLine();
Students student = new Students()
{
FirstName = FNm,
LastName = LNm,
Age = StudentAge,
City = StudentCity,
};
return student;
}
主要方法
_client = new MongoClient();
_database = _client.GetDatabase("School");
var _collection = _database.GetCollection<Students>("StudentDetails");
Console.WriteLine("Press select your option from the following\n1 - Insert\n2 - Update One Document\n3 - Delete\n4 - Read All");
string userSelection = Console.ReadLine();
switch (userSelection)
{
case "1":
_collection.InsertOne(GetStudent());
break;
case "2":
break;
.....
答案 0 :(得分:0)
你有任何类地图吗?我想它会映射你的
public ObjectId Id { get; set; }
到文件&#34; _id&#34;领域。 您没有为此字段指定值,请尝试:
Students student = new Students()
{
Id = ObjectId.GenerateNewId(),
FirstName = FNm,
LastName = LNm,
Age = StudentAge,
City = StudentCity,
};
答案 1 :(得分:0)
在控制台窗口上,一旦我点击ctrl + z
执行了它就停止执行服务器代码!