2016-11-30 6 views
2

ネット簡易表示データ例えば「MongoDBのを:// localhostを:27017」.NETアプリに。MongoDBの私が上で動作している私のMongoDBのデータを表示しようとしている

これは、データベースがをどのように見えるかです。

enter image description here

この例はMongoDB C# Driver page on githubからのものであり、私もコンパイル時エラーを渡すことができません。
1.私はawaitを削除する必要がありました。
2.私は今取得していますエラーがforeach文は、型の変数を操作することはできません

listの下にある「System.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); 
      } 
     } 
    } 
} 

、誰もが簡単な作業コードスニペット、または作業のチュートリアルへのリンクを共有してもらえますか?これは二日目ですが、私はまだこの問題に固執しています。

答えて

3

あなたはsynchroneメソッドを呼び出す必要があり、次のいずれかInsertOne()ToList()をかasynchrone方法の結果を待つ:

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

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

はいそれは実用的なソリューションです。今私はスタートがあります!ありがとうございました! –

+0

これはコンソールアプリで動作しますが、のWinFormsアプリで、それは私にエラーを与えるものではありません、また、何も表示されません。私はこれを試しました: 'foreach(リスト内のPerson p)MessageBox.Show(p.Name);'なぜこれが起こるか知っていますか? –

+0

あなたは、任意のメッセージボックスが表示されないか、emtyのメッセージボックスを見ていますか? –

関連する問題