MongoDB for .Net简单显示数据示例
MongoDB for .Net simple display data example
我正在尝试将 MongoDB 运行 在 "mongodb://localhost:27017" 上的数据显示到 .NET 应用程序。
这是数据库的样子。
此示例来自 MongoDB C# Driver page on github,我什至无法通过编译时错误:
1. 我不得不删除 await
.
2. 我现在得到的错误是 list
foreach statement cannot operate on variables of type 'System.Threading.Tasks.Task>' because 'System.Threading.Tasks.Task>' does not contain a public definition for 'GetEnumerator'
using MongoDB.Bson;
using MongoDB.Driver;
using System;
namespace MongoTest2
{
class Program
{
public class Person
{
public ObjectId Id { get; set; }
public string Name { get; set; }
}
static void Main(string[] args)
{
var client = new MongoClient("mongodb://localhost:27017");
var database = client.GetDatabase("test");
var collection = database.GetCollection<Person>("messages");
collection.InsertOneAsync(new Person { Name = "Jack" });
var list = collection.Find(x => x.Name == "Jack")
.ToListAsync();
foreach (var person in list)
{
Console.WriteLine(person.Name);
}
}
}
}
任何人都可以分享一个简单的工作代码片段,或者 link 工作教程吗?今天是第二天了,我还在纠结这个问题。
您应该调用同步方法:InsertOne()
和 ToList()
或等待异步方法的结果:
collection.InsertOneAsync(new Person { Name = "Jack" }).Wait();
var list = collection.Find(x => x.Name == "Jack")
.ToListAsync().Result;
我正在尝试将 MongoDB 运行 在 "mongodb://localhost:27017" 上的数据显示到 .NET 应用程序。
这是数据库的样子。
此示例来自 MongoDB C# Driver page on github,我什至无法通过编译时错误:
1. 我不得不删除 await
.
2. 我现在得到的错误是 list
foreach statement cannot operate on variables of type 'System.Threading.Tasks.Task>' because 'System.Threading.Tasks.Task>' does not contain a public definition for 'GetEnumerator'
using MongoDB.Bson;
using MongoDB.Driver;
using System;
namespace MongoTest2
{
class Program
{
public class Person
{
public ObjectId Id { get; set; }
public string Name { get; set; }
}
static void Main(string[] args)
{
var client = new MongoClient("mongodb://localhost:27017");
var database = client.GetDatabase("test");
var collection = database.GetCollection<Person>("messages");
collection.InsertOneAsync(new Person { Name = "Jack" });
var list = collection.Find(x => x.Name == "Jack")
.ToListAsync();
foreach (var person in list)
{
Console.WriteLine(person.Name);
}
}
}
}
任何人都可以分享一个简单的工作代码片段,或者 link 工作教程吗?今天是第二天了,我还在纠结这个问题。
您应该调用同步方法:InsertOne()
和 ToList()
或等待异步方法的结果:
collection.InsertOneAsync(new Person { Name = "Jack" }).Wait();
var list = collection.Find(x => x.Name == "Jack")
.ToListAsync().Result;