MongoDB for .Net简单显示数据示例

时间:2016-11-30 09:33:15

标签: c# .net mongodb mongodb-.net-driver

我试图显示运行在" mongodb:// localhost:27017"上的MongoDB中的数据。到.NET应用程序。

这就是数据库的外观

enter image description here

此示例来自MongoDB C# Driver page on github,我甚至无法通过编译时错误:
1.我不得不删除await 我现在得到的错误是list

  

foreach语句不能对类型&System; Thread.Threading.Tasks.Task>'的变量进行操作。因为' System.Threading.Tasks.Task>'不包含' 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);
            }
        }
    }
}

任何人都可以共享一个简单的工作代码段或指向工作教程的链接吗?这是第二天,我仍然坚持这个问题。

1 个答案:

答案 0 :(得分:3)

您应该调用synchrone方法:InsertOne()ToList()或等待asynchrone方法的结果:

collection.InsertOneAsync(new Person { Name = "Jack" }).Wait();

var list = collection.Find(x => x.Name == "Jack")
            .ToListAsync().Result;